有时(不总是)在Child对象中出现主键约束错误当我持久保存根对象时
em.persist(Parent Object)
这是我的嵌套对象层次结构
父和子对象1是双向OneToMany关系,也是子1和子2,子2和子3的双向OneToMany。
我使用CascadeType.ALL
表示多方,@OneToMany(cascade = CascadeType.ALL)
我在所有实体的setter方法中格式化ID。
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "MYTABLE_GEN")
@Access(value = AccessType.PROPERTY)
public String getId() {
return id;
}
public void setId(String id) {
if (id != null) {
this.id = FormatID.formatId(id); // custom format of ID
}
}
这是TableGenerator
@TableGenerator(name = "MYTABLE_GEN", table = "ID_GEN", pkColumnName = "GEN_NAME", valueColumnName = "GEN_VAL", pkColumnValue = "MYTABLE_GEN", allocationSize = 10)
是否有任何关于错误原因的建议。