我有一个数据库表,看起来像:
创建表格答案( id int 不为空, question_id int 不为空, 回答文本空 )
该表最初是由 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(ANSWER)
那个“getValueFromOID”函数存在吗?如果没有,我能否得到一些关于如何创建一个或至少如何获取 OID 的实际值的指示?
谢谢