Hibernate 使用多个关系实现类似的功能

Hibernate 使用多个关系实现类似的功能,hibernate,spring-boot,spring-data-jpa,Hibernate,Spring Boot,Spring Data Jpa,我有这些数据库表 USER id int name varchar ANSWER id int message varchar user_answer_likes user FK -> USER.id answer FK -> ANSWER.id “用户\u答案\u喜欢”表在那里,因此用户可以只喜欢一次答案。但是,我在如何在我的Spring项目中实现这一点上有一个问题 在答案实体中,我想要一个答案的喜欢总数。我如何才能实现这一点,例如,使用应答实体中的int属性?1)在您的情况

我有这些数据库表

USER
id int
name varchar

ANSWER
id int
message varchar

user_answer_likes
user FK -> USER.id
answer FK -> ANSWER.id
“用户\u答案\u喜欢”表在那里,因此用户可以只喜欢一次答案。但是,我在如何在我的Spring项目中实现这一点上有一个问题

在答案实体中,我想要一个答案的喜欢总数。我如何才能实现这一点,例如,使用应答实体中的
int
属性?

1)在您的情况下,您有以下关系:

  • 一个人-->很多人都喜欢你的答案
  • 一个相似的答案-->一个人
  • 一个答案--->许多人喜欢你的答案
  • 一个相似的答案-->一个答案
  • 因此,可以在表之间使用@manytone关系。 并使用两个外键PersonID和AnswerID来构造复合键,如_Answer(PersonID,AnswerID)


    2) 对于另一个问题:答案的喜欢总数不应该是答案的属性

    这不应该是答案的属性。它应该是在存储库中定义的查询的结果。@JBNizet但如果它是应答实体的一部分,并且是在应答存储库中定义的(本机)查询中定义的,那么这没有错,对吗?