Eu tenho uma tabela de banco de dados que se parece com:
criar respostas de tabela ( id int não nulo, question_id int não nulo, responder texto nulo )
Esta tabela foi originalmente criada pelo Hibernate usando o atributo @Lob para a coluna "resposta". Eu não percebi isso na época, mas, quando configurado dessa maneira, o Hibernate armazena um OID na coluna em vez do texto real. Tudo funciona bem quando eu uso o Hibernate para recuperar os valores, pois ele converte automaticamente o OID para a string CLOB, no entanto, está se tornando um problema de desempenho e eu gostaria de me livrar do OID.
selecione * das respostas ID QUESTION_ID RESPOSTA =============================== 1 123 55123 2 234 51614 3 345 56127 deveria estar ID QUESTION_ID RESPOSTA =============================== 1 123 Masculino 2 234 203-555-1212 3 345 555 Main St. Nova York, Nova Iorque
Meu desejo é adicionar uma coluna extra à tabela "ANSWER_VALUE TEXT" e fazer algo como abaixo para obter o valor real na tabela e alterar o Hibernate para não usar o designador @Lob
atualizar conjunto de respostas ANSWER_VALUE = getValueFromOID (ANSWER)
Existe a função "getValueFromOID"? Caso contrário, eu poderia obter algumas dicas sobre como criar uma ou pelo menos como buscar o valor real de um OID?
obrigado
fonte
loread()
? postgresql.org/docs/9.0/static/lo-funcs.htmllo_read
.