4
我試圖在連接表上映射與額外屬性(標誌)的關係,但沒有在實體中明確定義此連接表。自定義Hibernate插入集合,與@WhereJoinTable對應
問題:
業務被分配到0或1的主要國家,業務也被鏈接到0以上的二級國家。
我有三個表:Business
,Country
,Business_Country
在我Business
,我有一個@WhereJoinTable
其用於檢索的作品相當不錯:
@OneToOne
@JoinTable(
name="business_country",
joinColumns = @JoinColumn(name="business_id"),
inverseJoinColumns = @JoinColumn(name="country_id")
)
@WhereJoinTable(clause="is_main = 1")
private Country mainCountry;
@OneToMany
@JoinTable(
name="business_country",
joinColumns = @JoinColumn(name="business_id"),
inverseJoinColumns = @JoinColumn(name="country_id")
)
@WhereJoinTable(clause="is_main = 0")
private Set<Country> secondaryCountries = new HashSet<>();
我不知道對方會是這樣@WhereJoinTable
什麼執行保存。
剛剛創建實體Business
並添加國家,它提供了約束衝突:
cannot insert NULL into ("TESTSCHEMA"."BUSINESS_COUNTRY"."IS_MAIN")
我想要做的是,is_main設置爲1
爲mainCountry
和0
在所有條目secondaryCountries
。
我想知道是否有某種可能的自定義@SQLInsert
?