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には多対1の関連付けがあります。さて、クエリを呼び出すと、ごくわずかな部分だけがキャッシュに入れられているようです。その理由は、@Cacheタグとの関連付けをマークしなかったためだと思います。私は正しいですか?
しかし、本当の問題は次のとおりです。
BarTypeにはいくつかの関連付けもあり、これらは関連付けなども提供するオブジェクトを返し、関連付けの大きなグラフを作成します。今、私はする必要がありますか
a)これらのクラスすべてに注釈を付けて
b)関連付けにも注釈を付ける
クエリ全体をキャッシュするために?