【问题标题】:JPA many to many relation in Spring Boot app doesn't workSpring Boot应用程序中的JPA多对多关系不起作用
【发布时间】:2018-05-10 13:39:55
【问题描述】:

我想在我的应用程序中创建多对多关系,但它不起作用。

我的第一个实体:

@Entity
@Table(name = "Person")
public class Person implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    @Version
    private Long version;

    private String firstName;
    private String lastName;
    private String location;
    private String email;
    private String status;
    private String role;
    private LocalDateTime createdOn;
    private LocalDateTime modifiedOn;
    @ManyToMany(mappedBy = "persons")
    private Set<Team> teams = new HashSet<Team>();

我的第二个实体:

@Entity
@Table(name = "Team")
public class Team {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Version
    private Long version;

    private String name;
    private String description;
    private String city;
    private Integer headcount;
    private LocalDateTime createdOn;
    private LocalDateTime modifiedOn;
    @ManyToMany(cascade = CascadeType.MERGE)
    @JoinTable(name = "persons_teams",
            joinColumns = @JoinColumn(name = "teamId"),
            inverseJoinColumns = @JoinColumn(name = "personId"))
    private Set<Person> people = new HashSet<>();

我不知道出了什么问题,但程序无法编译。

请帮忙。

【问题讨论】:

  • 你得到什么错误信息或堆栈跟踪?

标签: java jpa many-to-many


【解决方案1】:

在 Person 类中,您使用名称“persons”指示了要在 Team 中映射的字段名称,但 Team 类中的实际字段名称是“people”。

【讨论】:

    猜你喜欢
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2018-04-04
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多