createSQLQuery 查询数据库类型为char的字段时 通过hibernate的createSQLQuery来查询某几个字段,如id,number,name等,结果发现一个很奇怪的现象,id字段只拿到一个字符,而其他字段正常。 id在数据库中是CHAR(32)类型的,其他字段是VARCHAR则正常,会不会跟这个有关系? 好在找到资料,确实如此,hibernate将char自动映射成character! 可以通过addScalar来自定义返回类型来解决,不废话,如下所示:
Query query = session
.createSQLQuery(queryString)
.addScalar(
"id", Hibernate
.STRING)
.addScalar(
"number", Hibernate
.STRING)
.addScalar(
"subject", Hibernate
.STRING)
.addScalar(
"status", Hibernate
.STRING)
.addScalar(
"article_or_point", Hibernate
.STRING)
转载请注明原文地址: https://ju.6miu.com/read-500354.html