现在初学SSH ,打的环境是struts2,spring3和hibernate4,想使用hibernate的annontation,按照网上的方法在beans.xml中做如下配置:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource"><ref bean="dataSource" /></property>
<property name="annotatedClasses">
<list>
<value>com.user.model.User</value>
<value>com.user.model.Dept</value>
</list>
</property>
但出现Caused by: java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;这个错误,一查说是hibernate4中已经不用CacheProvider,使用<bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">配置了,那我像知道这样配置后如何使用hibernate annontation???HibernateSpringSSH
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource"><ref bean="dataSource" /></property>
<property name="annotatedClasses">
<list>
<value>com.user.model.User</value>
<value>com.user.model.Dept</value>
</list>
</property>
但出现Caused by: java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;这个错误,一查说是hibernate4中已经不用CacheProvider,使用<bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">配置了,那我像知道这样配置后如何使用hibernate annontation???HibernateSpringSSH
解决方案 »
- hql 语句当from为查询结果是报错
- 新人求教hibernate查询方式
- 设置下拉框默认值
- SSH刷新之后出现 org.hibernate.exception.GenericJDBCException: could not inspect JDBC autocommit mode
- struts hibernate spring 类图怎么画
- weblogic的很菜的问题
- 怎么改变JDeveloper中new File("notes.txt")出来的notes.txt的所在目录啊?
- 高手请来,解答小弟疑惑!!!
- 牛哥牛姐们!连接池又出问题了???
- 推荐一个ejb服务器吧
- Struts+Hibernate放到服务器上过段时间就出错,求大虾帮助啊啊,急急急,愁死了快
- 求解:关于从MySQL中查询日期 格式化问题
@Autowired
public void setSessionFactory0(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
现在报could not prepare statement这个错了。。
现在报could not prepare statement这个错了。。
是不是sessionFactory的相关参数没有配置好,建议给出完整的异常
这个还不不太理解, super.setSessionFactory(sessionFactory); 找谁的setSessionFactory方法?;
现在报could not prepare statement这个错了。。
是不是sessionFactory的相关参数没有配置好,建议给出完整的异常六月 25, 2013 10:14:24 下午 org.springframework.orm.hibernate4.HibernateTransactionManager afterPropertiesSet
INFO: Using DataSource [org.apache.commons.dbcp.BasicDataSource@2304b8] of Hibernate SessionFactory for HibernateTransactionManager
六月 25, 2013 10:14:24 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: -204, SQLState: 42704
六月 25, 2013 10:14:24 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=administrator.PERSON, DRIVER=3.62.56
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not prepare statement
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:188)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:117)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.prepare(IdentityGenerator.java:89)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:55)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2975)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3487)
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:214)
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:194)
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:178)
at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:321)
at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:286)
at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125)
at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:208)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:151)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:78)
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:853)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:827)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:831)
at cn.lactec.app.dao.impl.LoanDaoBean.save(LoanDaoBean.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy13.save(Unknown Source)
at cn.lactec.app.logic.impl.LoanLogicBean.save(LoanLogicBean.java:64)
at cn.lactec.app.service.LoanService.save(LoanService.java:27)
at cn.lactec.app.test.Test.main(Test.java:26)
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=administrator.PERSON, DRIVER=3.62.56
现在报could not prepare statement这个错了。。
是不是sessionFactory的相关参数没有配置好,建议给出完整的异常这个换成XML方式就可以运行,但是用annontation就报错。。
这个错误是传入数据库sql的语法错误,估计annotation与正确的xml配置没有完全等价引起的
Class LocalSessionFactoryBeanpublic class LocalSessionFactoryBean
extends HibernateExceptionTranslator
implements FactoryBean<SessionFactory>, ResourceLoaderAware, InitializingBean, DisposableBeanFactoryBean that creates a Hibernate SessionFactory. This is the usual way to set up a shared Hibernate SessionFactory in a Spring application context; the SessionFactory can then be passed to Hibernate-based data access objects via dependency injection.NOTE: This variant of LocalSessionFactoryBean requires Hibernate 4.0 or higher. It is similar in role to the same-named class in the orm.hibernate3 package. However, in practice, it is closer to AnnotationSessionFactoryBean since its core purpose is to bootstrap a SessionFactory from annotation scanning.NOTE: To set up Hibernate 4 for Spring-driven JTA transactions, make sure to either specify the "jtaTransactionManager" bean property or to set the "hibernate.transaction.factory_class" property to CMTTransactionFactory. Otherwise, Hibernate's smart flushing mechanism won't work properly. 所以它是支持annotation的
这个错误是传入数据库sql的语法错误,估计annotation与正确的xml配置没有完全等价引起的有annotation不是不需要**.hbm.xml了么?
这个错误是传入数据库sql的语法错误,估计annotation与正确的xml配置没有完全等价引起的有annotation不是不需要**.hbm.xml了么?
是不需要,xml配置方式传达给hibernate的必要信息,annotation方式也必须同样并正确地给到才不会出错,估计是annotation漏了点什么或写错了点什么