[英]Understanding JBossCache - Caching an object graph with many associations
我正在嘗試使用JBossCache作為JPA / Hibernate 2級緩存提供程序來緩存重復調用的查詢。 查詢返回特定類型的實體,將其稱為FooType。
FooType如下所示:
@Entity(name = FooType)
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class FooType {
protected BarType barType;
@ManyToOne(targetEntity = BarType.class, cascade = {
CascadeType.ALL
})
BarType getBarType() {
return barType;
}
}
因此,Footype具有多對一關聯。 現在,當我調用查詢時,似乎只有很小一部分放在緩存中。 我認為原因是因為我沒有使用@Cache標簽標記該關聯。 我對么?
但是真正的問題是:
BarType也有一些關聯,這些返回對象還提供關聯等,從而建立了很大的關聯圖。 現在,我需要
a)注釋所有這些類,並且
b)還要注釋關聯
為了整個查詢被緩存?
您要緩存的所有實體/集合都必須具有@Cache,以便可以對其進行緩存。 查詢緩存的工作方式略有不同,要緩存結果,您需要使查詢對象可緩存。
順便說一句,如果確實有意義,請緩存!
http://docs.jboss.org/hibernate/core/3.5/reference/en/html/performance.html#performance-cache
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.