Spring DataJPA:这是什么样的关系,我该如何映射它

时间:2018-06-13 14:28:19

标签: spring-data-jpa

我有2个实体,User和Message。消息实体包含2个类型为User的字段。

像这样:

public class Message extends DefaultEntity {


    @Valid
    @ManyToOne(targetEntity = User.class)
    @JoinColumn(name="sender")
    private User sender;

    @Valid
    @ManyToOne(targetEntity = User.class)
    @JoinColumn(name="receiver")
    private User receiver;


    @NotNull
    private String message;
}
  1. 这是一对多或多对

  2. 我如何映射用户实体中的消息字段,因为每个用户都应该有一个消息列表。

  3. 谢谢

1 个答案:

答案 0 :(得分:0)

在您的用户类中,只需使用反向@OneToMany

但是你设置它的方式看起来像只有一个接收者和一个发送者的一对一关系。因此看起来您应该使用@OneToOne并且可能使用@JoinColumn(name =“USER_ID”)指定连接列。

假设您正在使用Hibernate。