Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

@Cache annotation usage error

I added the following annotation to enable cache to one of my EJB3 entities, to test caching with ehCache, where I use Hibernate as the persistence provider:

....
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 {
   .....
}

I added the following to 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"/>

And when I try to compile I get the following error:

/persistence/F.class): warning: Cannot find annotation method 'usage()' in type 'org.hibernate.annotations.Cache': class file for org.hibernate.annotations.Cache not found An exception has occurred in the compiler (1.6.0_16). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. com.sun.tools.javac.code.Symbol$CompletionFailure: class file for org.hibernate.annotations.CacheConcurrencyStrategy not found

Can anyone help me out here and let me know what I need to do or am doing wrong currently ?

like image 526
SibzTer Avatar asked Oct 23 '09 14:10

SibzTer


2 Answers

@org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)

will solve the problem

like image 106
user2606245 Avatar answered Nov 14 '22 13:11

user2606245


Well .. I got it to work eventually. The fix for it is really strange and really does seem to be a reported bug.

What I needed to do was to add all the Hibernate libraries to my Netbeans web/war project as well. Once I did that, the errors went away.

This was strange because the Hibernate libraries were already included in the ear project which was also in the web project library.

like image 28
SibzTer Avatar answered Nov 14 '22 15:11

SibzTer