Hibernate 在HQL中将Blob转换为字符串
我在Oracle数据库中有一个列类型的BLOB,我想以字符串的形式获得一个简短的概述(例如限制为300个字符) 我的专栏在Hibernate中被注释为@Lob,我的问题是如何将我的Blob(实际上是@Lob)转换为字符串 在我的模型中:Hibernate 在HQL中将Blob转换为字符串,hibernate,spring-mvc,blob,Hibernate,Spring Mvc,Blob,我在Oracle数据库中有一个列类型的BLOB,我想以字符串的形式获得一个简短的概述(例如限制为300个字符) 我的专栏在Hibernate中被注释为@Lob,我的问题是如何将我的Blob(实际上是@Lob)转换为字符串 在我的模型中: @Lob private byte[] content; 当我想解析我的blob时,我得到: org.springframework.web.util.NestedServletException: Request processing failed;
@Lob
private byte[] content;
当我想解析我的blob时,我得到:
org.springframework.web.util.NestedServletException:
Request processing failed; nested exception is org.springframework.orm.hibernate3.HibernateJdbcException:
JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [99999]; error code [24816]; ORA-24816:
Expanded non LONG bind data supplied after actual LONG or LOB column;
nested exception is org.hibernate.exception.GenericJDBCException: ORA-24816:
Expanded non LONG bind data supplied after actual LONG or LOB column
我知道我可以用Java进行转换(
newstring(myBlob);
例如),但我想直接用HQL查询来获取字符串。我认为不能直接从HQL进行转换。我总是在java.sql.blob
类型中检索blob字段,然后充分使用。@malaguna谢谢你的回答,我会继续在网上搜索,但我认为你是对的。