为简单起见,这是我的简化模型:

我有2个实体:

@entity
public class Student {
int id;
School school
...
}


学校也是一个实体

@entity
public class School {
int id;
...
}


我试图从文本文件中提取大量数据。
有些学生有相同的学校实例,
我不希望数据库中有多个同名学校,
因此,我的目标是将每个学生保存在学生数据库中,同时确保2个不同学生和同一所学校不会在我的学校数据库中创建2个条目。

问题是,当我尝试让学生坚持时,它给了我一个错误:
“独立的实体已传递给持久对象”,我如何告诉休眠状态,数据库中已经存在学生班级中的学校,而应该使用它呢?

谢谢

最佳答案

@ManyToOne(cascade=ALL)映射它。

但是,“相同的名称”是不够的,您应该具有相同的ID。为此,您需要先将School对象从数据库中获取,然后再将其设置为Student。

10-07 13:27
查看更多