5
私はIDを持つ能力が必要な2つのエンティティ(AとB、1つのBは多くのAsに関連付けることができます)間に多対1のマッピングを持っています特定のBエンティティがデータベースに存在しないA on B(A.B_ID)の場合。これは可能ですか?JPAの1対1関係エンティティが存在しない場合
A我々のコードの(簡体字)例:
@Entity
@Table(name = "A")
public class A implements java.io.Serializable {
// ...
private B b;
// ...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "B_ID")
public B getB() {
return this.b;
}
// ...
}
@Entity
@Table(name = "B")
public class B implements java.io.Serializable {
// ...
private Set<A> as = new HashSet<A>(0);
// ...
@OneToMany(fetch = FetchType.LAZY, mappedBy = "b")
public Set<A> getAs() {
return this.as;
}
// ...
}
この基本的なセットアップは、HibernateはA.B_IDにnull値を保存しようとしてしまい、それが許可されていません:
Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("MY_SCHEMA"."A"."B_ID")
のためにエンティティがまだ存在しない場合、私はそれが作成されることを望んでいません。私はちょうどDBにBを入れずにAを挿入したいだけです。 2つのテーブル間に外部キー制約はありません。