我在prod DB中有2个具有以下属性的表:
Bills table : id, customer_id, total
Project table : id, customer_id
和customer_id
不是任何表中的外键。有没有办法用hibernate标准连接这些表?使用DetachedCriteria
标准尝试Subqueries
。但是无法加入这些桌子!
答案 0 :(得分:1)
您必须更改地图,以便在Bills
中添加其他地图:
@ManyToOne
@JoinColumn(name = "customer_id", referencedColumnName = "customer_id")
private Project project;
然后您可以使用加入标准的标准方式。
<强>更新强>
如果您可以使用HQL而不是Criteria ..那么您可以使用旧的连接方式:
select b.name
from Bills b, Project p
where b.customer_id = p.customer_id
更新2
如果必须使用xml,请指定as:
<many-to-one name="project" class="com.Project" ..>
<column name="customer_id" property-ref="customer_id"/>
</many-to-one>