0

我在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”,那就太好了,如果我只需要更改我的查询创建,那就太好了,但是任何解决方案都会有所帮助,谢谢

4

1 回答 1

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


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

您的查询将相关return的所有行UserHelperTable

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

前任 :

query = "SELECT  new ge.tec.pto.ext.helpers.UserHelper(u) from PkUser u where username=:passedparamer order by u.pkUserId desc"
于 2013-02-12T12:18:48.583 回答