2011-11-08 2 views
32

私はこのBeanを永続化するためにHibernateを使用しています。HibernateのCascadeTypeのデフォルト値

import javax.persistence.*; 

@Entity 
public class Person { 
    @Id @GeneratedValue 
    private int id; 
    @Column 
    private String name; 
    @OneToOne 
    private Address addr; 
} 

addrためCascadeTypeは何ですか?

答えて

57

カスケードタイプはデフォルトで空の配列です。 CascadeType in Annotation Type OneToOne

デフォルトでは、操作はカスケードされていません。

+1

それはJPAのために働くん、私はそれは同じである願っています。 – Zeus

+1

JPAが仕様です。 Hibernateは、この仕様の実装です。 EclipseLinkあ、はい。それが仕様のドキュメントにある場合、すべての実装で同じである必要があります。 –

+0

@NicoVanBelleこれは常にそうとは限りません。デフォルト値は異なる場合があります。例JPAのmanyToOneアノテーションとoneToOneアノテーションは、熱心なデフォルトフェッチモードを持ち、休止状態の場合はレイジーフェッチモードです。 – ihebiheb

17

@OneToOneの出所はhereで確認できます。何も操作がデフォルト

/** 
    * (Optional) The operations that must be cascaded to 
     * the target of the association. 
    * 
    * <p> By default no operations are cascaded. 
    */ 
    CascadeType[] cascade() default {}; 

続きを読むことにより、カスケード接続されていません:http://kickjava.com/src/javax/persistence/OneToOne.java.htm#ixzz1d6ZWMM2y