具有可空组合的JPA持久性实体

  • 本文关键字:JPA 持久性 实体 组合 jpa
  • 更新时间 :
  • 英文 :


我正在尝试保存-使用JPA -名为"提案"的实体,该实体与实体"动机"组成。(在我的映射下面)

@Entity
@Table(
schema = "CADMAT",
name = "TB_PROP",
uniqueConstraints = {
@UniqueConstraint(columnNames = {"TIPO", "COD"})
}
)
public class Proposta implements Serializable, Identifiable {
...
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE, optional = true)
@JoinColumn(
name = "COD_MOTIV",
columnDefinition = "NUMERIC",
referencedColumnName = "COD",
insertable = false,
updatable = false,
nullable = true)
private Motivo motivo;
...
}

但当我将创建一个新的注册这个错误报告:

javax.persistence.RollbackException: java.lang.IllegalStateException: 
During synchronization a new object was found through a relationship that was not marked cascade PERSIST: 
br.gov.sp.sefaz.siafem.cm.db.model.Motivo@4ecd00b5.

我不能把" cascatype . persistent "因为按照我的用例,可以保存实体"提案"。没有实体"动机">

我已经把属性"optional=true"one_answers"nullable = true"在注释中,但错误继续。

你得到了神秘的克里斯!实际上,我有一个构造函数方法在&;propost&;并且它在没有验证的情况下设置属性"动机";是否为空。我修复了构造函数方法,它工作了。

最新更新