我正在尝试执行具有多个内部联接的查询并从这些表中获取不同的列。
例如:
Table-1
Col1, Col2........Col10
Table-2
Col1....Col5
Table-3
Col1...............Col20
内连接
Select tb1.col1, tb1.col2, tb1.col3, tb2.col1, tb3.col1, tb.col2
inner join
tb1
inner join
tb2
inner join
tb3
where cond1 &cond2
查询使用 hibernate 执行得很好,但我希望将结果集映射到 Java POJO 对象。我如何构建映射对象,是否有任何工具可以用来生成此查询的映射对象。 .
我可以手动完成,但输出中有 40 列...
最佳答案
假设这三个表对应于模型中的三个对象。然后,您可以考虑这三个对象相互关联的方式,以及这些对象中的哪一个将是这些关系的自然所有者。因此,如果您认为对象 A 具有对象 B 的集合,而对象 B 又具有对象 C 的集合,那么您可以说对象 A 拥有该关系。
然后您希望查询返回对象 A 的列表。
所以你可以写:
"SELECT a FROM A a JOIN a.bs b JOIN b.cs c WHERE a.attr = val and b.attr2 = val2"
由于您的 A 集合可以访问所有 B 和所有 C,那么这应该满足您的需求。
关于java - 用于内连接查询的 Hibernate 映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26721478/