2017-08-03 228 views
3

我在這樣定義的實體的柱:級聯「@Any」關係

@Any([email protected](name="index_type"),fetch=FetchType.EAGER,optional=false) 
@AnyMetaDef(idType="java.util.UUID", metaType="string", metaValues={ 
    @MetaValue(targetEntity=LocalPodcast.class, value="Local"), 
    @MetaValue(targetEntity=RSSPodcast.class, value="RSS") 
}) 
@JoinColumn(name="index_id",columnDefinition="CHAR(36)") 
private PodcastIndex index; 

當我嘗試保留此實體類型的值,相關聯的索引被不持久。我希望這會自動發生。對於其他關係,我通常在定義關係的註釋中使用cascade=CascadeType.ALL,但@Any註釋中沒有級聯字段。我怎樣才能使這種關係自動級聯?我正在使用Hibernate 5.

+1

我認爲唯一的方法是我們必須添加註釋'@Cascade(org.hibernate.annotations.CascadeType.ALL)'。 – soorapadman

+0

@soorapadman - 啊,我從來沒有注意到有一個單獨的註釋來定義級聯。是的,這是做到這一點的方式。 :) – Jules

回答

2

cascading有一個單獨的註釋。所以你可以使用

@Cascade(org.hibernate.annotations.CascadeType.ALL)