子エンティティに持続カスケード接続しようとしているとき:PersistenceException私は2つの実体を持って
マスター:
@Entity
@Table(name = "master")
public class Master implements java.io.Serializable {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "seq")
private Integer seq;
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "seq", referencedColumnName = "seq")
private SubMaster subMaster;
...................
}
サブマスター:
@Entity
@Table(name = "sub_master")
public class SubMaster implements java.io.Serializable {
@Id
@Column(name = "seq")
private Integer seq;
private String subName;
...................
}
、私は存続しようとしていますMaster
エンティティSubMaster
エンティティを設定すると、次のような例外が発生します。私はHibernateが親エンティティが永続化されると自動的に子エンティティを保持することを期待しています。
をだが、修士と同じでなければなりません。しかし、私はこれを使用する場合、私は例外を取得している(私は明らかだと思います): 'java.sql.SQLException:フィールド 'seq'はデフォルト値を持たない' – gschambial
同じidを持つ点どちらも ? OneToOneは外部キー参照を生成します。マスターIDと結合したい場合は、結合する2番目の列を指定し、sub_masterクラスにid_master属性を追加する必要があります。 さらに、seq要素のヌルエントリを無効にすることができます(これは例外の原因となる可能性があります) – alexay68