Tengo una tabla de base de datos que se parece a:
crear respuestas de tabla ( id int no nulo, question_id int no es nulo, texto de respuesta nulo )
Hibernate creó originalmente esta tabla utilizando el atributo @Lob para la columna "respuesta". No me di cuenta en ese momento, pero cuando se configura de esa manera, Hibernate almacena un OID en la columna en lugar del texto real. Todo funciona bien cuando uso Hibernate para recuperar los valores, ya que convierte automáticamente el OID en la cadena CLOB, sin embargo, se está convirtiendo en un problema de rendimiento y me gustaría deshacerme del OID.
seleccione * de las respuestas ID PREGUNTA_ID RESPUESTA =============================== 1 123 55123 2 234 51614 3 345 56127 debiera ser ID PREGUNTA_ID RESPUESTA =============================== 1 123 macho 2 234 203-555-1212 3345555 Main St. Nueva York, NY
Mi deseo es agregar una columna adicional a la tabla "ANSWER_VALUE TEXT" y hacer algo como a continuación para obtener el valor real en la tabla, luego cambiar Hibernate para no usar el designador @Lob
las respuestas de actualización establecen ANSWER_VALUE = getValueFromOID (ANSWER)
¿Existe esa función "getValueFromOID"? Si no es así, ¿podría obtener algunos consejos sobre cómo crear uno o al menos cómo obtener el valor real de un OID?
Gracias
fuente
loread()
? postgresql.org/docs/9.0/static/lo-funcs.htmllo_read
.