【发布时间】:2014-01-02 14:31:57
【问题描述】:
我有一个Student 实体,一个Team 实体。然后我创建了一个 StudentTeam 实体,其中包含字段“student_id”、“team_id”和“updateTime”。
Student 实体如下所示:
@Entity
@Table(name = "student")
public class Student {
@OneToMany(mappedBy = "student")
private Set<StudentTeam> studentTeams = new HashSet<StudentTeam>();
//Getter & Setter
}
Student & StudentTeam 具有 OneToMany 关系。
Team 实体如下所示:
@Entity
@Table(name = "team")
public class Team {
private int tid;
private String name;
private String city;
//Getter & Setter
}
DB 中的team 表如下所示:
tid name city
___ ______ _____
1 name1 city_A
2 name1 city_B
3 name3 city_C
...
不同的团队实例可能有相同 name 但不同 city
以上工作正常。
现在,我的客户向我发送了一个请求,其中包括一个学生 ID、一个包含相应城市的团队名称列表。
这个客户希望我用它发送的团队更新这个学生的团队(更新 DB 中的 student_team 表)。需要注意的是,学生可能有一个团队与同一团队 name 但不同 city。此外,如果该学生在 DB 中有其他团队但请求中未提及,则应与该学生保持联系。
我正在使用 Servlet + Hibernate。我想知道在这种情况下更新学生团队的最有效 HQL 是什么?
【问题讨论】:
-
没有
group实体。保留字很麻烦。 -
谢谢,更新了我的帖子。
-
好。现在考虑提供适当的 DDL 和/或 sqlfiddle 以及所需的结果集