1

機関が複数のコースを処理できる機関-> コース からの一対多の関連付けがあり ます。このユースケースでは、コースは 1 つの教育機関にのみ属することができると考えてください。

@Entity 
Institution {
@Id
long id;
@JoinTable(name = "INSTITUTION_COURSES", joinColumns = @JoinColumn(name = "INSTITUTION_ID"), inverseJoinColumns = @JoinColumn(name = "COURSE_ID"))
Set<Course> coursesOffered;
}

@Entity
Course{
@Id
long id;
@Column
String name;
}

そして、それらのマップは別のテーブルに保存されます

機関オブジェクトと関連するコレクションを取得せずに、HQL または Hibernate 基準を使用してコースを削除し、マッピング テーブルの対応する行も削除するにはどうすればよいですか。

4

1 に答える 1

0

トランザクションコンテキスト内でこのようなことをしていますか?..。

Institution institution = institutionDAO.findById(institutionId, false);
institution.getCourses().remove(course);

institution = institutionDAO.mergeState(institution);
于 2012-06-09T20:59:50.473 に答える