Реализуйте подобную функциональность, используя отношения ManyToMany - PullRequest
0 голосов
/ 09 марта 2019

У меня есть эти таблицы базы данных

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 Ответ

1 голос
/ 10 марта 2019

1) В вашем случае это соотношение:

  1. Один человек ---> Многие Like_Answer
  2. Один Like_Answer -> Один человек
  3. Один ответ ---> Многие Like_Answer
  4. Один ответ -> Один ответ

Таким образом, вы можете использовать связь @ManytoOne между таблицами. И используйте два внешних ключа PersonID и AnswerID для создания составного ключа Like_Answer (PersonID, AnswerID).

2) Для другого вопроса: общее количество лайков для ответа не должно быть свойством ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...