Spring Boot中使用Hibernate实现好友关系实体的正确方法

问题描述

我正在尝试在 Spring Boot 中实现一个友谊实体。起初,我打算在 UserAccount 类中使用自引用多对多关系,但决定不使用它,因为我还想存储友谊开始的日期。

下面是我想出来的。友谊类将包含关注者 UserAccount、关注者 UserAccount 和建立关系的日期。我不确定在 UserAccount 类中是否需要相应的 @OnetoMany 注释,或者我在下面所做的是否完全正确。

我之前使用过 ManyToOne 和 OnetoMany 关系,但不是这样,我有两个在同一个班级,所以如果有人能给我一些反馈或给我一些有用的见解来帮助我更好地理解这种关系,我会真的很感激。

@Entity
@Table(name = "friendship_relationships")
public class Friendship {

    @Id
    @Column(name = "friendship_id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "friendship_generator")
    @SequenceGenerator(name = "friendship_generator",sequenceName = "friendship_seq",allocationSize = 1)
    private long friendshipId;
    
    @ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
    @JoinColumn(name = "followee_id")
    private UserAccount followee;//person being followed
    
    @ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
    @JoinColumn(name = "follower_id")
    private UserAccount follower;//person following
    
    @Column(name = "friendship_start_date")
    private LocalDate startDate = LocalDate.Now();
    
    //Constructor,getters,setters ...
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)