2014-11-03 38 views
0

我试图执行一个查询,该查询具有多个内部连接并从这些表中获取不同的列。内部连接查询的Hibernate映射对象

对于前:

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 Object..How我可以建立映射对象,是否有任何工具可用于生成此查询的映射对象...

我可以手动执行,但输出中有40列...

回答

0

假设三个表格对应于模型中的三个对象。然后,您可以考虑这三个对象相互关联的方式,以及这些对象中的哪一个将成为关系的自然拥有者。所以,如果你想到对象A有一个对象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" 

因为你的一个集合将有机会获得所有B和所有C,则应该满足你的需求。

+0

表中没有关系绑定...即;他们没有外键..例如: - table2/field1应该只是如果它在table1/field1中,但这种关系是以编程方式实现的... – user1050619 2014-11-04 23:57:41

+0

所以这些对象在任何方面都没有关系?是否有任何对象具有对其他对象实例的引用或集合? – 2014-11-05 02:32:03

+0

不,没有参考文献或参考文献集合... – user1050619 2014-11-05 03:34:22