2010-12-14 84 views
1

我有一個Hibernate映射:如何使用HBM映射創建雙列唯一鍵約束?

 
<properties name="lrt_bps_bpr_acs_uk" unique="true"> 
    <many-to-one name="activitySummary" column="bps_acs_id" class="xyz.ActivitySummary" 
    unique-key="lrt_bps_bpr_acs_uk"/> 
    <many-to-one name="bestPractice" column="bps_bpr_id" class="xyz.BestPractice" 
     unique-key="lrt_bps_bpr_acs_uk"/> 
</properties> 

我預計休眠將這個映射創建數據庫唯一約束。但是沒有發生過這樣的事情

我在做什麼錯?

回答

1

好像你做的沒有錯。我們在我們的項目中以同樣的方式執行,並且工作正常。 我以爲有同樣的問題一次,因爲我無法找到我們的oracle數據庫中的constaints,因爲我認爲指定的唯一鍵屬性值(在你的情況下'lrt_bps_bpr_acs_uk')被用作DB中的constraint_name。但事實並非如此(至少在oracle數據庫中)。

0

不要在屬性元素中指定name =「lrt_bps_bpr_acs_uk」unique =「true」。它會自動獲取並使用唯一鍵約束