1
比方說,我們有一個「問題」和「答案」實體延遲加載性能最好。安迪,這裏是統計使用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作爲提供者)
什麼是您的持久性提供程序?是否使用擴展選項? – 2010-03-27 15:03:13