createSQLQuery 查询数据库类型为char的字段时

    xiaoxiao2021-03-26  5

    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

    最新回复(0)