2017-02-11 94 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