私は2つのエンティティを持っており、そのうちの1つは他のエンティティの外部キーです:
@Entity
@Table(name = "XXXX")
@XmlRootElement
public class Drfacopt implements Serializable {
@Id
@NotNull
@Basic(optional = false)
@Column(name = "OPCOD")
private Short optionCode;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 50)
@Column(name = "OPCODDH")
private String optionCodeDescription;
}
@Entity
@Table(name = "YYYY")
@XmlRootElement
public class Drfac03f implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected Drfac03fPK drfac03fPK;
@JoinColumn(name = "F3OPT", referencedColumnName = "OPCOD" )
@ManyToOne(optional = false)
private Drfacopt relationCode;
}
を使用して新しいレコードを挿入しようとすると、次のem.persist(drfac03f)
例外が発生します。
During synchronization a new object was found through a relationship that was not marked cascade PERSIST
外部キーをnullとして挿入するにはどうすればよいですか? @Null を使用したいので、ユーザーがレコードを Drfacopt に直接挿入すると、null またはゼロにはなりませんが、Drfac03f を介している場合は null として挿入できます。これはどのように行うことができますか?