gpt4 book ai didi

java - Hibernate 中可选的多对多关系

转载 作者:行者123 更新时间:2023-12-01 04:11:52 25 4
gpt4 key购买 nike

我想创建如下M:N关系 enter image description here

  • 每个用户可以拥有本或多本电子书

  • 每本电子书必须属于一个或多个用户

我在 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>();
//...
}

当我仅将电子书对象保存到数据库时,如何添加此附加约束,例如一个多个 - 零多个?有一本不属于任何人的电子书。

最佳答案

查看这个问题和线程的答案:

另请参阅本教程:

本教程提供了有关如何实现正确的多对多映射的非常好的示例。

关于java - Hibernate 中可选的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com