hibernate - 使用多对多关系实现类似功能
问题描述
我有这些数据库表
USER
id int
name varchar
ANSWER
id int
message varchar
user_answer_likes
user FK -> USER.id
answer FK -> ANSWER.id
user_answer_likes 表在那里,因此用户只能喜欢一次答案。不过,我对如何在我的 Spring 项目中实现这一点有疑问。
在答案实体中,我想知道答案的总喜欢数。我如何能够实现这一点,例如使用int
答案实体中的属性?
解决方案
1)在你的情况下,你有这种关系:
- 一个人 ---> 许多 Like_Answer
- 一个 Like_Answer --> 一个人
- 一个答案 ---> 许多 Like_Answer
- 一个喜欢的答案 --> 一个答案
所以你可以在表之间使用@ManytoOne 关系。并使用两个外键 PersonID 和 AnswerID 构造复合键 Like_Answer (PersonID, AnswerID)。
2) 对于另一个问题:Answer 的总点赞数不应该是 Answer 的属性。
推荐阅读
- javascript - 我在 ajax 中有问题 Post 不显示数据
- android - 监听 Android 中的数据库变化?(科特林/Java)
- python-3.x - 将调整大小的图像添加到框架
- flutter - Flutter - 有没有办法查看哪一行代码引发了错误?
- c# - 如何使通用列表作为 IEnumerable 传递和返回
返回一个正确的值而不是 null? - django - 在 quizgame django API 中获取随机问题
- ionic-framework - FileTransfer 下载返回所有属性为空的错误
- rest - API 适用于 Postman,但不适用于 Axios
- sql - 按日期字段从表中获取用户
- c - 我如何找到给定程序的中位数