簡體   English   中英

了解JBossCache-緩存具有許多關聯的對象圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM