我能够保存(spring-hibernate saveorupdate()
)字段
@Lob
@Column(name = "FILENAME")
private String filename;
进入oracle数据库数据类型是clob
但是当我尝试检索它时,我收到错误
错误 - JDBCExceptionReporter.logExceptions(72) | ORA-00932:不一致的数据类型: 预期 - 获得CLOB
下面是我从数据库中恢复的方式
DetachedCriteria crit = DetachedCriteria.forClass(Storagefile.class);
crit.addOrder(bSortOrder ? Order.asc(sortColumnId) : Order.desc(sortColumnId));
List<Storagefile> result = (List<Storagefile>) getHibernateTemplate().findByCriteria(crit, nFirst, nPageSize);
答案 0 :(得分:6)
从您的示例代码中不清楚,但我的猜测是您尝试按CLOB列排序,而Oracle不允许这样做。该错误代码是甲骨文告诉你的迷人方式。
您确定需要使用CLOB存储filnename吗? Oracle可以在VARCHAR2
列中存储多达4000个字符,当然这对于文件名来说已经足够了?如果您想按filename
排序,那么您需要这样做。
答案 1 :(得分:1)