我遇到的问题更多的是方法问题而不是如何使用,请让我解释一下:
两个班级,学生和家庭作业。学生班级有一份他们许多家庭作业的清单。家庭作业课有一个要完成它的许多学生的列表。
一些示例代码,以防有人搜索快速多对多示例:
@Entity(name="STUDENT")
@Inheritance(strategy=InheritanceType.JOINED)//Note this join type, no redundancy
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@ManyToMany(mappedBy="studentList")//Note how this is mapped
private Collection<Homework> homeworkList = new ArrayList<Homework>();
@Entity(name="HOMEWORK")
@Inheritance(strategy=InheritanceType.JOINED)
public class Homework {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@ManyToMany
private Collection<Student> studentList = new ArrayList<Student>();
Hibernate 做它的事情并创建一个表 student_homework 使用主键将每个家庭作业映射到学生,反之亦然。
例如,我怎么可能使用 Hibernate 来保存“homeworkCompleted”布尔值。这个值不能存在于学生班,因为有很多工作,家庭作业班也一样,因为有很多学生。
一种可能的解决方案是可能手动进入数据库,创建另一列,每次保存条目时都可以选择更新已完成或稍后再做。
我不禁想到有一个非常简单的解决方案,hibernate 可以处理并让一切正常,还有一点应用逻辑。
非常感谢,院长