2.4.8. キャッシュ

データベースアクセスを最適化するために、Hibernate のいわゆる 2 次キャッシュを有効にできます。このキャッシュはエンティティごと、またはコレクションごとに設定できます。
@org.hibernate.annotations.Cache は、該当する 2 次キャッシュのキャッシング方針とリージョンを定義します。このアノテーションはルートエンティティ (サブエンティティでない) とコレクションに対して適用できます。
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Forest { ... }
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
    @JoinColumn(name="CUST_ID")
    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
    public SortedSet<Ticket> getTickets() {
        return tickets;
    }
@Cache( CacheConcurrencyStrategy usage(); String region() default ""; String include() default
        "all"; )
1

1

使用方法: 該当するキャッシュ同時方針 (NONE、READ_ONLY、NONSTRICT_READ_WRITE、READ_WRITE、TRANSACTIONAL)

2

リージョン (オプション): キャッシュリージョン (デフォルトでクラスの fqcn またはコレクションの fq ロール名に設定)

3

include (オプション): すべてのプロパティを含める場合は all、非レイジープロパティのみを含める場合は non-lazy (デフォルト値は all)。