Есть типы в БД:
CREATE OR REPLACE TYPE my_type IS OBJECT (
id VARCHAR2(20),
name VARCHAR2(40),
phone NUMBER
);
Пытаюсь создать обьекты с использованием этих типов:
....
Object[] myArray = new Object[3];
Object[] struct = new Object[values.size()];
int arrayIndex = 0;
for (User user : values) {
myArray[0] = user.id().toString();
myArray[1] = user.getName().toString();
myArray[2] = user.getPhone();
struct[arrayIndex++] = con.createStruct("my_type",myArray);
}
На строке с созданием структуры con.createStruct выпадает ошибка:
java.sql.SQLException: Inconsistent java and sql object types, for classes implementing ORAData or OracleData, respective factory classes ORADataFactory and OracleDataFactory should be registered in typeMap.
В чем может быть дело?
Ответ
Это помогло мне.
for (User user : values) {
struct[arrayIndex++] = con.createStruct(
"my_type",
new Object[]{
user.id().toString();
user.getName().toString();
user.getPhone();
});
}
Комментариев нет:
Отправить комментарий