1
カスケード機能を使用してこの関係を使用して挿入しようとします。システムにエラーが発生しました:1対複数カスケード保存、エラー:カラム "b_id"のnull値がnullでない制約に違反しています
ERROR: null value in column "b_id" violates not-null constraint
エンティティ。
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
private String id;
@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "b_id")
private B b;
Bエンティティ。
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
private String id;
@OneToMany(mappedBy = "b", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
private List<C> cs;
Cエンティティ。
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
private String id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "b_id", nullable = false, referencedColumnName = "id")
private B b;
実行します。
A a = new A();
B b = new B();
C c = new C();
List<C> cs = new ArrayList<C>();
cs.add(c);
b.setCs(cs);
a.setB(b);
aRepository.save(a);
私は、 'C'主キーが' bId'の複合キーで、 'C'の' code'という別のフィールドであることを知って、@prptnと同じようにする方法を探しています。私がまだエラーを取得しているので、 '@ EmbeddedId'と' @ ManyToOne'の間にはバインドされていないようです:カラム "b_id"のnull値はnot-null制約に違反します。何か案が? –