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 回答