防止Hibernate使用select子句中谓词的列
由于性能限制,我们必须优化数据库操作和带宽。一个简单的Hibernate HQL查询,如来自用户u的查询,其中u.id=?生成SQL语句,例如:防止Hibernate使用select子句中谓词的列,hibernate,hql,Hibernate,Hql,由于性能限制,我们必须优化数据库操作和带宽。一个简单的Hibernate HQL查询,如来自用户u的查询,其中u.id=?生成SQL语句,例如: SELECT u.id, u.name FROM USERS u where u.id = ? Hibernate在select子句中重复一个字段u.id是相当愚蠢的,它已经存在于谓词u.id=?。是否有人知道一种简单的方法来防止这种情况,从而使查询结束: SELECT u.name FROM USERS u where u.id = ? 谢谢 将
SELECT u.id, u.name FROM USERS u where u.id = ?
Hibernate在select子句中重复一个字段u.id是相当愚蠢的,它已经存在于谓词u.id=?。是否有人知道一种简单的方法来防止这种情况,从而使查询结束:
SELECT u.name FROM USERS u where u.id = ?
谢谢 将select子句添加到HQL中。你的陈述是
select u.* FROM Users u where u.id = :id
如果指定投影,Hibernate将使用它
select u.name from Users u where u.id = :id
不幸的是,我们的表有很多列,写所有的字段是一件痛苦的事情。我希望Hibernate变得更聪明,并意识到它不应该查询那些字段。。。没有配置选项来防止这种行为?你需要编辑你原来的帖子。因为它不代表这个信息