Saya agak baru di Spring dan hibernate jadi saya mencoba menerapkan beberapa aplikasi web sederhana berdasarkan Spring 3 + hibernate 4 sementara saya memulai tomcat, saya memiliki pengecualian ini:
java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
...
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
Saya telah menemukan bahwa kelas ini dalam hibernate-core untuk hibernate 3 tetapi saya tidak menemukannya di hibernate 4.
Bagian dari context.xml saya untuk ketekunan:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:oracle:thin:@IP_Address:SID"/>
<property name="username" value="xxx"/>
<property name="password" value="xxx"/>
<property name="initialSize" value="5"/>
<property name="maxActive" value="20"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.huawei.vms.user"/>
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.Oracle10gDialect</prop>
</props>
</property>
</bean>
Tolong bantu saya untuk mencari tahu mengapa itu mencoba memuat CacheProvider karena saya tidak memiliki pengaturan untuk itu di context.xml dan jar mana yang harus saya tambahkan dalam proyek saya. Terima kasih!