where is the best palce to count the lazy load property using JPA
Posted
by Ke
on Stack Overflow
See other posts from Stack Overflow
or by Ke
Published on 2010-03-27T13:24:34Z
Indexed on
2010/03/27
13:33 UTC
Read the original article
Hit count: 201
jpa
Let's say we have a "Question" and "Answer" entity,
@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>();
......
I need to tell how many answers for the question every time Question is queryed. So I need to do count:
String count = "select count(o) from Answer o WHERE o.question=:q";
My question is, where is the best place to do the count? (Because I did a lot of query about Question entity, by date, by tag, by category, by asker, etc. It is obviously not a good solution to add count operation in each query.
My first attempt is to implement a @PostLoad listener, so every time Question entity is loaded, I do count. However, EntityManager cannot be injected in listener. So this way does not work.
Any hint?
© Stack Overflow or respective owner