我的DAO中有一个hibernate调用,看起来像这样
List<Associate> associate = (List<Associate>)session.createSQLQuery("SELECT * FROM associates WHERE fk_id = :id AND fk_associate_id = (SELECT id FROM users WHERE fk_user_type = 2)").setParameter("id", id).list();
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,说我无法将结果列表强制转换为模型类型Associate.我不明白为什么会这样.我只返回关联表中的字段.
axt*_*avt 34
您需要指定结果应转换为使用的实体类addEntity(),因为您正在执行不了解实体的SQL查询:
List<Associate> associate = (List<Associate>) session.createSQLQuery(
"SELECT * FROM associates WHERE fk_id = :id AND fk_associate_id = (SELECT id FROM users WHERE fk_user_type = 2)")
.addEntity(Associate.class)
.setParameter("id", id).list();
Run Code Online (Sandbox Code Playgroud)
也可以看看:
| 归档时间: |
|
| 查看次数: |
21020 次 |
| 最近记录: |