Допустим, у нас есть «вопрос» и «ответ» лицо,где лучше Palce рассчитывать свойство ленивых нагрузок, используя JPA
@Entity
public class Question extends IdEntity {
@Lob
private String content;
@Transient
private int answerTotal;
@OneToMany(fetch = FetchType.LAZY)
private List<Answer> answers = new ArrayList<Answer>();
......
Я должен сказать, как много ответов на вопрос каждый раз, когда Вопрос запрашивается. Поэтому мне нужно сделать счет:
String count = "select count(o) from Answer o WHERE o.question=:q";
Мой вопрос: где лучше всего сделать счет? (Потому что я сделал много запросов о сущности вопроса, по дате, по тегам, по категориям, абитуриентом и т. Д. Очевидно, что это не хорошее решение для добавления операции подсчета в каждом запросе.
Моя первая попытка внедряйте прослушиватель @PostLoad, поэтому каждый раз, когда объект Question загружается, я действительно рассчитываю.Однако EntityManager не может быть введен в слушатель.Так что этот способ не работает.
Любые подсказки? (Я использую Hibernate в качестве провайдера).
Ваш провайдер постоянства? Является ли использование расширений опцией? –