使用内部联接使用休眠返回多个对象类型
2022-09-02 13:07:24
我似乎在休眠状态下查询时遇到了一些困难。我正在对两个表执行内部联接。
SELECT * FROM product p INNER JOIN warehouse w ON p.wid = w.id
产品表:
id | name | wid | price | stock .....
仓库表:
id | name | city | lat | long .....
联接结果:
id | name | wid | price | stock | id | name | city | lat | long .....
当我运行查询时..
Session.createSQLQuery(this.query)
.addEntity("p", Product.class)
.addEntity("w", Warehouse.class).list();
因此,对于每个结果,我都会得到一个包含 a 和 a 的对象。Product object
Warehouse object
这是预料之中的。问题是休眠将产品的 ID 和名称分配给仓库对象 ID 和 name 属性。就好像在创建 Warehouse 项目时,联接结果中的前两列就被覆盖了一样。产品对象始终包含正确的数据。
任何关于找到解决此问题的方法的建议,以便ID和名称列表示正确的仓库数据将不胜感激。
提前致谢。