【问题标题】:Getting a list of objects in Hibernate returns a list of a single object在 Hibernate 中获取对象列表返回单个对象的列表
【发布时间】:2011-10-14 13:25:22
【问题描述】:

我在我的 Spring Java EE 应用程序中使用 Hibernate。我得到了用户列表,其中用户是 applicationContext.xml 中指定的 bean,如下所示:

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

返回用户列表的代码如下;返回的列表具有正确的大小,但是所有对象似乎都是同一个对象(我正在使用 ui:repeat 打印出 JSF 文件中的对象。

public List<User> getAllUsers() {

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

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

    return allUsers;

}

我怀疑用户被单次返回,但无法解决问题。

如何进行 Hibernate 查询以返回所有对象?

【问题讨论】:

  • Hibernate 代码看起来不错。如果您记录返回用户的所有 ID,它会打印什么?你的 JSF 逻辑肯定有问题。
  • 非常感谢,Hibernate 的代码确实是正确的,我发现了我的问题,虽然很尴尬;因为这是一个愚蠢的错误。请参阅下面的评论。

标签: hibernate jakarta-ee hql


【解决方案1】:

问题是我已将主键值从 user_id 更改为 id。这导致 id 列被设置为全零,因此它总是返回第 0 个对象。

【讨论】:

    猜你喜欢
    • 2021-01-13
    • 1970-01-01
    • 2016-02-21
    • 2011-07-18
    • 2021-07-21
    • 2010-09-28
    • 2011-04-23
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多