【问题标题】:using hibernate to get objects in form of list使用休眠以列表形式获取对象
【发布时间】:2020-01-10 16:19:19
【问题描述】:

我正在尝试使用休眠类从数据库中获取对象。但它找不到方法“.list()”,它说“找不到 Javadoc”。这个方法我不知道怎么用。

List users= session.createQuery("FROM User WHERE Email=:email AND Password=:password")
            .setParameter("password", password)
            .setParameter("email", email).list();

【问题讨论】:

  • "List users" - Don't use raw types。除此更改外,请键入查询:session.createQuery("FROM User WHERE Email=:email AND Password=:password", User.class) --- 使用 .getResultList(),而不是 list()
  • 它没有那个方法,我认为问题是如何添加它的库
  • @Turing85 .getResultList() 存在于javax.persistence.Query 类中,而不存在于org.hibernate.Query 中。 javax.persistence.EntityManager 创建 javax.persistence.Queryorg.hibernate.Session 创建 org.hibernate.Query

标签: java list hibernate web-applications javadoc


【解决方案1】:

1) 检查createQuery() 方法是否返回org.hibernate.Query 类的对象

在所有版本的 Hibernate 方法中存在.list()

旧的 Javadoc https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html#list()

新的 Javadoc https://docs.jboss.org/hibernate/orm/5.4/javadocs/org/hibernate/query/Query.html

2) List users - 永远不要使用原始类型,因为具有类型 (List<User>) 的集合会为您提供编译时类型检查,从而防止运行时出错。

【讨论】:

    【解决方案2】:

    编辑器显示“找不到 Javadoc”意味着它找不到类/方法的文档。它不会阻止编译/运行代码。

    忽略该消息并尝试编译/运行代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多