【问题标题】:Cast hibernate Query result to Object of type class instead of list array将休眠查询结果转换为类类型的对象而不是列表数组
【发布时间】:2013-07-22 09:47:30
【问题描述】:

有没有办法将休眠查询结果转换为对象而不是列表数组。

Query q1 = session.createQuery("from userTable where id ='1234'");

List userList = q1.list(); >> cast to object of UserBean class type ??

UserBean user = (UserBean)userList.get(0); 

System.out.println(user.getName);
System.out.println(user.getAge);
.....
System.out.println(user.getPhone);

UserBean 类使用表名 userTable 进行映射,我希望获得一个 id 的列值,它是表的主键。

请参见第 2 行,List userList = q1.list() ??无论如何,我们可以转换/转换为类型类的对象吗?

【问题讨论】:

  • 试试UserBean user = (UserBean) q1.uniqueResult();
  • @Reimeus 非常感谢。有用。请将此评论放在答案中,以便我能够接受您的答案。

标签: java hibernate


【解决方案1】:

你为什么不用这个?

UserBean user = (UserBean) q1.getSingleResult();

【讨论】:

  • 但是我得到一个编译器错误,The method getSingleResult() is undefined for the type Query,有什么建议吗?
  • 你好 priyank,你能解释一下这个方法吗?
  • @user1010399 :它是一种查询接口的方法。请参阅docs.oracle.com/javaee/5/api/javax/persistence/… 了解更多信息。您不应该遇到编译错误。
【解决方案2】:

试试这个

UserBean user = (UserBean) q1.uniqueResult();

【讨论】:

    猜你喜欢
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多