解决 hibernate createQuerySql 结果映射问题
在hibernate中使用sql语句查询,默认返回的结果是Object类型,且无法强制转换。
这里需要注意三点
- 查询语句中表必须加上别名
- selec
*替换为{t.*} - 手动指定映射类
User.class
// 表名 t_user 别名 t
SQLQuery sqlQuery = userDao.getSession().createSQLQuery("SELECT {t.*} FROM t_user t ");
// 指定结果映射为 User
sqlQuery.addEntity("t", User.class);
sqlQuery.list();
参考:
本文介绍了在Hibernate中使用原生SQL查询时如何正确映射结果到Java对象的方法。通过给查询语句添加表别名、用{t.*}
1323

被折叠的 条评论
为什么被折叠?



