gpt4 book ai didi

mysql - 用于多对多表关系的 Spring Data JPA 注释

转载 作者:行者123 更新时间:2023-11-29 05:06:07 26 4
gpt4 key购买 nike

我正在使用 Spring Boot 开发 Web 应用程序。我有如下数据库表:

role
----
id name
1 admin
2 user
3 employee

employee
--------
id name
1 Juan
2 Pedro
3 Marcos
4 Lucas

user
----
id employee_id role_id username password
1 1 1 juan1 hello
2 1 3 juan2 hello
3 2 2 pedro1 hello
4 2 3 pedro2 hello
5 3 3 marcos hello
6 4 3 lucas hello

以下是域对象类:

public class Role  {
...
@ManyToMany(mappedBy = "roles")
private Set<Employee> employees;

---
public class Employee {
...
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "user",
joinColumns = @JoinColumn(name = "employee_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id")
)
private Set<Role> roles;

我想知道我需要在 User 类中使用哪些注释。我正在关注这个 tutorial .但这没有第三类,因为第三个表 (book_publisher) 除了外键 (book_id, publisher_id) 没有其他字段。

谢谢。

最佳答案

您将需要从 Employee 到 User 的对多关联,因为 User 是所谓的属性关联。

用户实体将有一个复合 ID 作为主键。

请从 Thorben Jansen 那里找到一篇关于该主题的优秀文章: https://www.thoughts-on-java.org/many-relationships-additional-properties/

关于mysql - 用于多对多表关系的 Spring Data JPA 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47794350/

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