次の注釈を追加して、EJB3 エンティティの 1 つにキャッシュを有効にし、ehCache でキャッシングをテストしました。ここでは、永続化プロバイダーとして Hibernate を使用しています。
....
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Table(name = "F")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@NamedQueries({ @NamedQuery(name = "F.findAll", query = "SELECT f FROM F f")})
public class F implements Serializable {
.....
}
以下を persistence.xml に追加しました。
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<property name="hibernate.cache.provider_configuration_file_resource_path" value="/ehcache.xml"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
そして、コンパイルしようとすると、次のエラーが発生します。
/persistence/F.class): 警告: タイプ 'org.hibernate.annotations.Cache' にアノテーション メソッド 'usage()' が見つかりません: org.hibernate.annotations.Cache のクラス ファイルが見つかりません コンパイラで例外が発生しました(1.6.0_16)。Bug Parade で重複がないか確認した後、Java Developer Connection ( http://java.sun.com/webapps/bugreport ) でバグを報告してください。プログラムと次の診断をレポートに含めてください。ありがとうございました。com.sun.tools.javac.code.Symbol$CompletionFailure: org.hibernate.annotations.CacheConcurrencyStrategy のクラス ファイルが見つかりません
誰かがここで私を助けて、私が何をする必要があるか、または現在間違っているかを教えてもらえますか?