我想创建M:N关系,如下所示
每个用户都可以拥有零或许多电子书
每本电子书必须属于一个或多个用户
我在Hibernate中的映射:
User.java
@Entity
@Table(name = "USERS")
public class User {
//...
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "USER_EBOOK", joinColumns = @JoinColumn(name = "USER_ID", nullable = false),
inverseJoinColumns = @JoinColumn(name = "EBOOK_ID", nullable = false))
private List<Ebook> listOfEbooks = new ArrayList<Ebook>();
//...
}
Ebook.java
@Entity
@Table(name="EBOOK")
public class Ebook {
//...
@ManyToMany(mappedBy = "listOfEbooks", fetch = FetchType.EAGER)
@NotFound(action = NotFoundAction.EXCEPTION)
private List<User> listOfEbookUsers = new ArrayList<User>();
//...
}
当我只将ebook对象保存到数据库时,如何添加此附加约束,例如一个或多个 - 零或多个?电子书不属于任何人。
答案 0 :(得分:0)
看到这个问题和主题的答案:
另见本教程:
本教程提供了如何实现正确的多对多映射的非常好的示例。