3.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"; )

使用方法: 該当するキャッシュ同時方針 (NONE、READ_ONLY、NONSTRICT_READ_WRITE、READ_WRITE、TRANSACTIONAL)
| |
リージョン (オプション): キャッシュリージョン (デフォルトでクラスの fqcn またはコレクションの fq ロール名に設定)
| |
include (オプション): すべてのプロパティを含める場合は all、非レイジープロパティのみを含める場合は non-lazy (デフォルト値は all)。
|