SpringJPA:我如何映射一个UserEnity,它有一个包含2个UserEnity字段的MessageEntity列表
我有一个迷你信息应用程序。所以我创建了一个MessagineUnity类来存储两个用户之间的消息,看起来像这样SpringJPA:我如何映射一个UserEnity,它有一个包含2个UserEnity字段的MessageEntity列表,jpa,mapping,Jpa,Mapping,我有一个迷你信息应用程序。所以我创建了一个MessagineUnity类来存储两个用户之间的消息,看起来像这样 @Entity @Table(name = "Message") public class Message extends DefaultEntity { @Valid @ManyToOne(targetEntity = User.class) @JoinColumn(name="sender") private User sender;
@Entity
@Table(name = "Message")
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;
@Enumerated(EnumType.STRING)
private MessageStatus messageStatus;
private Boolean isRead;
}
然后我有一个用户属性,看起来像这样:
@Component
@Entity
@Table(name = "Users")
public class User extends DefaultEntity {
@Column(name = "FirstName")
@NotNull(message = "Enter a FirstName")
private String firstName;
@Column(name = "LastName")
@NotBlank(message = "Enter a LastName")
private String lastName;
@Column(unique = true,name = "UserName")
@NotBlank(message = "Enter a UserName")
private String userName;
}
我觉得我没有很好地映射它,因为我的应用程序中的代码有问题,尤其是因为我知道我没有正确地映射到onetoone,oneto-many或many-to-many中,因为我不知道如何处理它。但是一条消息有两个用户,他们可以不断地在他们之间发送消息,所以一个用户应该有一个MessageEntity的列表。我建议阅读这本书:IMHO这是关于JPA2I的最好的书。我在这篇文章中找到了答案: