小编Dan*_*Dan的帖子

使用内部联接使用hibernate返回多个对象类型

我似乎在使用hibernate中的查询时遇到了一些困难.我正在两个表上执行内连接.

SELECT * FROM product p INNER JOIN warehouse w ON p.wid = w.id
Run Code Online (Sandbox Code Playgroud)

产品表:

id | name | wid | price | stock .....
Run Code Online (Sandbox Code Playgroud)

仓库表:

id | name | city | lat | long .....
Run Code Online (Sandbox Code Playgroud)

加入结果:

id | name | wid | price | stock | id | name | city | lat | long .....
Run Code Online (Sandbox Code Playgroud)

当我运行查询..

Session.createSQLQuery(this.query)
        .addEntity("p", Product.class)
        .addEntity("w", Warehouse.class).list();
Run Code Online (Sandbox Code Playgroud)

因此,对于每个结果,我得到一个包含a Product object和a 的对象Warehouse object.

这是预料之中的.问题是hibernate将产品的id和名称分配给仓库对象id和name属性.就创建Warehouse项目而言,好像连接结果中的前两列都过度了.Product对象始终包含正确的数据.

关于找到解决此问题的方法的任何建议,以便表示正确仓库数据的id和name列将非常受欢迎.

提前致谢.

java hibernate inner-join

18
推荐指数
3
解决办法
3万
查看次数

标签 统计

hibernate ×1

inner-join ×1

java ×1