2011-10-14 57 views
2

我在Spring Java EE应用程序中使用Hibernate。我得到的用户,并且用户是在applicationContext.xml指定一个bean的名单如下:获取Hibernate中的对象列表将返回单个对象的列表

<property name="annotatedClasses"> 
     <list> 
      <value>foo.bar.User</value> 
     </list> 
    </property> 

返回用户列表的代码如下;在返回的列表具有正确的尺寸,但是所有的对象似乎是同一个对象(我使用的UI在我的JSF文件打印出来的对象:重复

public List<User> getAllUsers() { 

    Query q = currentSession().createQuery("from User"); 

    List<User> allUsers = (List<User>) q.list(); 

    return allUsers; 

} 

我怀疑用户返回单一的时间,但是能不能解决问题。

我怎样才能让一个Hibernate查询返回的所有对象?

+0

Hibernate代码看起来很好。如果您记录返回的用户的所有ID,它会打印什么? JSF逻辑中有许多错误。 –

+0

非常感谢,Hibernate代码确实是正确的,我发现我的问题,虽然很尴尬;因为这是一个愚蠢的错误。看到我下面的评论。 – ustun

回答

1

的问题是,我改变了主键值,这是user_id说明来标识。这导致id列设置为全零,因此它总是返回第0个对象。