1

私は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 として挿入できます。これはどのように行うことができますか?

4

1 に答える 1