在hql中使用kew单词“new”时避免多次选择

时间:2013-02-12 10:58:40

标签: java hibernate select hql named-query

我在java中有以下代码。

List<UserHelper> users=List<UserHelper>)session.getNamedQuery("PkUser.loadHelperUsers").list();

我认为“UserHelper”类是什么并不重要,这就是我不写它的原因,而不是重载我的问题。这是我上面提到的namedQuery。

 @NamedQuery(name = "PkUser.loadHelperUsers", query = "SELECT  new ge.tec.pto.ext.helpers.UserHelper(u) from PkUser u order by u.pkUserId desc"),

问题是hql选择了太多行,我认为pk_user表中数据库中的行数相同。如果有人知道如何解决这个问题,请通知我。如果解决方案不需要改变我的“NamedQuery”将是非常好的,如果我只需要更改我的查询创建,那将会很有用,但任何解决方案都会有所帮助,谢谢

1 个答案:

答案 0 :(得分:0)

Multiple selects when using Key word “`new`” in `hql`


There is no problem with your code and with NEW keyword .

您的return相关UserHelper

中的所有行Table query = "SELECT new ge.tec.pto.ext.helpers.UserHelper(u) from PkUser u where username=:passedparamer order by u.pkUserId desc"

您应该使用WHERE子句来获取所需的行。

EX:

{{1}}