У меня есть таблица базы данных, которая выглядит так:
создать таблицу ответов ( id int не нуль, question_id int не null, текст ответа ноль )
Эта таблица была изначально создана Hibernate с использованием атрибута @Lob для столбца «answer». В то время я этого не осознавал, но при такой настройке Hibernate сохраняет в столбце OID вместо реального текста. Все отлично работает, когда я использую Hibernate для получения значений, поскольку он автоматически преобразует OID в строку CLOB, однако это становится проблемой производительности, и я хотел бы избавиться от OID.
выберите * из ответов ID QUESTION_ID ОТВЕТ =============================== 1 123 55123 2 234 51614 3 345 56127 должно быть ID QUESTION_ID ОТВЕТ =============================== 1 123 Мужской 2 234 203-555-1212 3 345 555 Main St. New York, NY
Я хочу добавить дополнительный столбец в таблицу «ANSWER_VALUE TEXT» и сделать что-то вроде ниже, чтобы получить фактическое значение в таблице, а затем изменить Hibernate, чтобы не использовать указатель @Lob
обновить набор ответов ANSWER_VALUE = getValueFromOID (ОТВЕТ)
Существует ли эта функция "getValueFromOID"? Если нет, могу ли я получить некоторые советы о том, как создать один или хотя бы как получить действительное значение OID?
Спасибо
источник
loread()
? postgresql.org/docs/9.0/static/lo-funcs.htmllo_read
.