我剛剛開始使用NetBeans IDE的JEE6,現在我正在學習帶鏈接的JPA。 我正在使用Netbeans IDE和mySQL。JPA多對多級聯刪除
我創建了2個非常簡單的表格,以多對多的關係:
table student
int id PK
varchar name
table teacher
int id PK
varchar name
//the mapping
table studentTeacher
int studentID FK
int teacherID FK
的studentTeacher表將學生證到教師ID,以級聯的刪除和更新。
我已經使用'從數據庫生成實體'netbeans功能,它工作正常: 我可以添加一個學生對象到我的學生表,我可以添加一個老師對象到我的老師表。
問題是,我如何創建一個'studentTeacher'實體並堅持它?或者它已經由IDE完成了?
這裏是從NetBeans中自動生成的註解:
//Student Entity annotation generated by Netbeans 7.0.1
@Id
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;
@Size(max = 40)
@Column(name = "name")
private String name;
@JoinTable(name = "studentTeacher", joinColumns =
{
@JoinColumn(name = "studentID", referencedColumnName = "id")
}, inverseJoinColumns =
{
@JoinColumn(name = "teacherID", referencedColumnName = "id")
})
@ManyToMany
private Collection<Teacher> teacherCollection;
謝謝!
太棒了,但我怎麼填充studentTeacher表?在這種情況下真正重要的是該表格提供的映射。我很困惑,現在買一本書。 – Fernando 2012-04-06 23:22:40
您需要仔細處理映射多對多關係的列表,因此,如果您將'Teacher'添加到您的'Student'實體,那麼請確保您還將'Student'實例添加到前面提到的'Teacher'。這樣做時,JPA將調用EntityManager.persist(student)'或EntityManager.persist(teacher)'(和其他任何方法相同)時執行中間表的「羣體」 – 2012-04-06 23:27:52
謝謝,我會嘗試並從一開始就啓動JPA。 – Fernando 2012-04-06 23:35:07