如何从JPA本机查询的resultList中获取Clob值?

Ham*_*mid 3 java hibernate jpa clob classcastexception

我通过JPA执行本机查询。我的数据库是oracle,我有一个Clob列。当我得到结果时,如何从resultList中获得clob值?我将其转换为String并得到ClassCastException。实际对象是com.sun.proxy。$ Proxy86。

Query query = entityManager.createNativeQuery("Select Value from Condition");
List<Object[]> objectArray =  query.getResultList();
for (Object[] object : objectArray) {
     ???
}
Run Code Online (Sandbox Code Playgroud)

Ram*_*Ram 6

您可以使用 java.sql.Clob

for (Object[] object : objectArray) {
       Clob clob = (Clob)object[0];
       String value = clob.getSubString(1, (int) clob.length());
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。这是一个更简单的解决方案 (2认同)