2017-02-11 68 views
1

2代表我有2个表,在督促DB以下属性:休眠:加入一个属性

Bills table : id, customer_id, total 
Project table : id, customer_id 

customer_id没有任何表的外键。有没有办法用休眠标准来连接这些表?使用DetachedCriteriaSubqueries标准进行试验。但是无法加入表格!

回答

1

你将不得不改变你的映射,使你有你的Bills额外的映射:

@ManyToOne 
@JoinColumn(name = "customer_id", referencedColumnName = "customer_id") 
private Project project; 

然后你可以使用在标准加入的标准方式。

更新

如果你可以用它代替标准HQL ..然后你可以使用的旧式加入:

select b.name 
from Bills b, Project p 
where b.customer_id = p.customer_id 

更新2

如果你有使用xml然后指定您的为:

<many-to-one name="project" class="com.Project" ..> 
    <column name="customer_id" property-ref="customer_id"/> 
</many-to-one> 
+0

感谢您的回复Maciej,但不幸的是我不能编辑映射,我们没有使用基于注释的映射。有没有其他方法? – rav

+0

你能编辑你的xml映射吗? –

+0

我想我可以。 “”。这是我在我的账单hibernate.xml中,其中Client是一个不同的表 – rav