これは私の学生エンティティです、
@Entity
@Access(AccessType.FIELD)
@Table(name="TBL_STUDENT")
public class Student implements Serializable{
.....
.....
....
..
.
@OneToOne( targetEntity=StudentContact.class,
fetch=FetchType.LAZY,
cascade={CascadeType.ALL}
)
@JoinColumn(name="CONTACT_ID")
private StudentContact contact;
.....
...
..
}
これは私のStudentContactエンティティです。
@Entity
@Table(name="TBL_STD_CONTACT")
public class StudentContact implements Serializable{
......
....
..
@OneToOne( mappedBy="contact",
targetEntity=Student.class,
cascade={
CascadeType.PERSIST,
CascadeType.MERGE
}
fetch= FetchType.LAZY)
private Student student;
........
......
....
..
.
}
私のStudentTest.javaには、私がやろうとしているmainメソッドが含まれています。
tx = em.getTransaction();
tx.begin();
StudentContact contact = em.find(StudentContact.class,38);
em.remove(contact);
tx.commit();
上記の操作では、StudentContactエンティティは削除されません。ログを確認すると、StudentContactとStudentのSelectクエリが表示されますが、Deleteクエリは出力されず、例外も表示されません。
どこが間違っているのですか?