Hibernate Native SQL Query检索实体和集合 [英] Hibernate Native SQL Query retrieving entities and collections

查看:124
本文介绍了Hibernate Native SQL Query检索实体和集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  Person 
- PersonId
- Name
- Books

Book
- Code
- Description

My SQL Query返回如下所示的行:

  PERSONID名称代码说明
-------- ---------- ---- -----------
1 BEN 1234 BOOK 1
1 BEN 5678 BOOK 2
2 JOHN 9012 BOOK 3

我的hibernate查询如下所示:

  session.createSQLQuery(select personid,name,code,description from person_books)
.addEntity(person,Person.class)
.addJoin(book,person.books)
.list();

这是每节:18.1.3的hibernate文档:
http://docs.jboss.org/hibernate/core /3.6/reference/en-US/html/querysql.html#d0e17464



我期望在我的列表中看到2个Person对象书籍中的书籍对象:

 列表
| - 本
| | - 预订1
| ' - Book 2
' - John
' - Book 3

实际上看到的是:

  List 
| - Object []
| | - 本
| | | - 预订1
| | ' - Book 2
| ' - Book 1
| - Object []
| | - 本
| | | - 预订1
| | ' - Book 2
| ' - Book 2
' - Object []
| - John
| ' - Book 3
' - Book 3

有谁知道是否有可能得到什么我想用这个方法吗?

解决方案

HHH-2831使用addJoin或返回对象数组替代单个实体的原生SQL查询



此行为是由已知的错误。 Doh,应该更加努力地搜索!

This is my situation, I have two basic POJO's which I've given a simple hibernate mapping :

Person
  - PersonId
  - Name
  - Books

Book
  - Code
  - Description

My SQL Query returns rows that look like this :

PERSONID NAME       CODE DESCRIPTION
-------- ---------- ---- -----------
1        BEN        1234 BOOK 1
1        BEN        5678 BOOK 2
2        JOHN       9012 BOOK 3

My hibernate query looks like this :

session.createSQLQuery("select personid, name, code, description from person_books")  
       .addEntity("person", Person.class)
       .addJoin("book", "person.books")
       .list();

This is per section : 18.1.3 of the hibernate documentation : http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/querysql.html#d0e17464

What I expect to get in my list is 2 Person Objects with the contained book objects in the collection of books :

List
 |- Ben
 |   |- Book 1
 |   '- Book 2
 '- John
     '- Book 3

What I am actually seeing is this :

List
 |- Object[]
 |   |- Ben
 |   |   |- Book 1
 |   |   '- Book 2
 |   '- Book 1
 |- Object[]
 |   |- Ben
 |   |   |- Book 1
 |   |   '- Book 2
 |   '- Book 2
 '- Object[]
     |- John
     |   '- Book 3
     '- Book 3

Does anyone know if it's possible to get what I want using this method?

解决方案

HHH-2831 Native SQL queries with addJoin or return object arrays instead of single Entities

This behaviour is caused by a known bug. Doh, should have searched harder!

这篇关于Hibernate Native SQL Query检索实体和集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆