私は Eclipselink を使用しており、セカンダリ テーブルの使用に問題があります。以下のように2つのテーブルがあります。
Student_id(Primary Key)、student_name などの列を持つ学生。
列 Student_id (Student テーブルとの FK 関係)、course_name (not null 制約付き) などでの登録。
要件は、学生が登録を持っている場合と持っていない場合があります。学生が登録している場合、データは登録テーブルにも保持する必要があります。それ以外の場合は、Student テーブルのみを永続化する必要があります。
私のコードスニペットは以下の通りです。
Student.java
------------
@Entity
@Table(name = "STUDENT")
@SecondaryTable(name = "REGISTRATION")
@Id
@Column(name = "STUDENT_ID")
private long studentId;
@Basic(optional=true)
@Column(name = "COURSE_NAME", table = "REGISTRATION")
private String courseName;
次のシナリオを試しました。1. 登録済みの学生 - 正常に動作しています。Student テーブルと Registration テーブルの両方にデータが追加されます。
セカンダリ テーブルへの永続化を防ぐ方法はありますか?
どんな助けでも大歓迎です。
ありがとう!!!