JPA嵌套对象中的子表主键约束错误

时间:2014-09-19 05:51:31

标签: jpa eclipselink jpa-2.0

有时(不总是)在Child对象中出现主键约束错误当我持久保存根对象时 em.persist(Parent Object) 这是我的嵌套对象层次结构

enter image description here

父和子对象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)

是否有任何关于错误原因的建议。

0 个答案:

没有答案