Java 使用hibernate的社交网络关系
我使用的是SPRING的JPA,我很难为社交网络建立这种关系 我有点困惑 有人能帮我处理这段关系吗Java 使用hibernate的社交网络关系,java,spring,spring-boot,hibernate,jpa,Java,Spring,Spring Boot,Hibernate,Jpa,我使用的是SPRING的JPA,我很难为社交网络建立这种关系 我有点困惑 有人能帮我处理这段关系吗 @Entity(name = "tbl_user") public class User { @Id private String id; @ManyToMany private List<User> friends; } @Entity(name = "tbl_friendship") public cla
@Entity(name = "tbl_user")
public class User {
@Id
private String id;
@ManyToMany
private List<User> friends;
}
@Entity(name = "tbl_friendship")
public class Friendship {
@Id
private String id;
@ManyToMany
private User source;
@ManyToMany
private User target;
}
@实体(name=“tbl\U用户”)
公共类用户{
@身份证
私有字符串id;
@许多
私人名单朋友;
}
@实体(名称=“tbl\U友谊”)
公众阶级友谊{
@身份证
私有字符串id;
@许多
私有用户源;
@许多
私人用户目标;
}
如何帮助您?怎么了?它现在做了什么而不应该做呢?非法尝试将非收藏映射为@OneToMany、@ManyToMany或@collectionfelments:com.letsgo.domain.model.friends.source
我不知道这种关系应该如何被理解,因为不知道这种关系的真实性质,很难回答。如果你想要从用户到友谊的多对多,你可以删除友谊中的@manytomy中的一个,并将剩余的一个设置为一组。此映射的结果将创建一个内隐式联接表。仅供参考,我还会将用户映射更改为使用集合而不是列表。Set是映射多对多关系的性能更高的集合。有关映射多对多关系的更多信息,请参见此处。