我正在构建一个使用Spring框架和Hibernate注释的Web应用程序,并陷入两个实体之间的简单映射。休眠注释双向映射
我正尝试在用户和课程之间创建多对多的关系。我跟着Hibernate的教程之一,我的实现如下:
用户等级:
@Entity
@Table(name="USER")
public class User {
private Long id;
private String email;
private String password;
private Set<Course> courses = new HashSet<Course>(0);
@Id
@GeneratedValue
@Column(name="USER_ID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="USER_EMAIL")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Column(name="USER_PASSWORD")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "USER_COURSE", joinColumns =
{ @JoinColumn(name = "USER_ID") },
inverseJoinColumns = { @JoinColumn(name = "COURSE_ID") })
public Set<Course> getCourses() {
return courses;
}
public void setCourses(Set<Course> courses) {
this.courses = courses;
}
}
课程类:
@Entity
@Table(name="COURSE")
public class Course {
private Long id;
private String name;
@Id
@GeneratedValue
@Column(name="COURSE_ID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
的问题是,这个实现只允许我去一个way
user.getCourses()
我需要改变什么,所以我可以在两个方向?
user.getCourses()
course.getUsers()
任何帮助,将不胜感激。
我已经删除了spring标签,因为这个问题与Spring没有任何关系 – skaffman