我能够保存 (spring-hibernate saveorupdate()
) 字段
@Lob
@Column(name = "FILENAME")
private String filename;
进入oracle数据库的数据类型是clob
但是当我尝试检索它时,出现错误
ERROR - JDBCExceptionReporter.logExceptions(72) | ORA-00932: inconsistent datatypes: expected - got 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);
最佳答案
从您的示例代码中看不出来,但我的猜测是您正试图按 CLOB 列排序,而 Oracle 不允许这样做。该错误代码是 Oracle 告诉您这一点的迷人方式。
您确定需要使用 CLOB 来存储文件名吗? Oracle 可以在 VARCHAR2
列中存储多达 4000 个字符,这对于文件名来说肯定足够了吗?如果您想按 文件名
排序,那么这就是您需要做的。
关于java - 无法将 clob 数据类型从数据库获取到 JPA 实体中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951744/