В моем приложении пользователи могут публиковать статьи.И другим пользователям могут понравиться эти статьи.
Класс статьи:
@Entity
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "article_id")
private int id;
@Column(name = "article_title")
private String articleTitle;
@OneToMany(mappedBy = "event")
private List<PeopleWhoLiked> peopleWhoLiked;
}
@Entity
public class PeopleWhoLiked {
@EmbeddedId
private PeopleWhoLiked id;
@ManyToOne @MapsId("articleId")
private Article article;
@ManyToOne @MapsId("userId")
private User user;
}
И есть категория объекта. Каждая статья имеет одну категорию.
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "category_id")
private int id;
@NotEmpty
@Column(name = "categoryName")
private String categoryName;
@OneToMany(mappedBy = "article")
private List<Article> articleList;
}
My Like Table
Article_id User_id
x x
Оба являются внешними ключами для связанных таблиц.
С функцией category.getArticleList();
я могу показывать статьи пользователям. Им могут нравиться статьи. Но дело в том, что система неЗнайте, что если статья уже понравилась пользователю.Так что всегда кнопка «Мне нравится» активна.
Запрос (оператор выбора для каждой статьи в таблице «Мне нравится»), похоже, имеет огромную сложность по времени и перегрузку системы.) Даже если я делаю, как я могу опубликовать это в тимелеф th:each
оператор только с Article
объектом.
Я думаю, что запрос 10 статей как за один раз с одним оператором select звучит хорошо. Но опять же, как я могу передать это тимелисту с объектом Article.