首页上一页 1 下一页尾页 1 条记录 1/1页
关于 org.springframework.dao.InvalidDataAccessApiUsageException问题
发表在JavaWeb图书答疑
2013-03-24
是否精华
是
否
版块置顶:
是
否
今天做一个项目的时候出现了这个问题
org.springframework.dao.InvalidDataAccessApiUsageException:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
这是我的配置文件中的信息,我配置了delete*,而且在service中使用的方法也是delete开头的。
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="Delete*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 配置哪些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allServiceMethod" expression="execution(* service.*.*(..))" />
<aop:advisor pointcut-ref="allServiceMethod" advice-ref="txAdvice" />
</aop:config>
这是我的dao里面的代码
public void deleteXJGZ(final String gzdh,final String xjgzmc) {
// TODO Auto-generated method stub
this.getHibernateTemplate().delete(this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session arg0) throws HibernateException,
SQLException {
// TODO Auto-generated method stub
Query query=arg0.createQuery("from XJGZ where tsnum = ? and tsname = ?");
query.setParameter(0, gzdh);
query.setParameter(1, xjgzmc);
return (XJGZ)query.uniqueResult();
}
}));
}
真的不知道什么原因了,看网上改了好多,也没什么作用还是这个问题,求帮忙解决啊,谢谢
org.springframework.dao.InvalidDataAccessApiUsageException:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
这是我的配置文件中的信息,我配置了delete*,而且在service中使用的方法也是delete开头的。
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="Delete*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 配置哪些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allServiceMethod" expression="execution(* service.*.*(..))" />
<aop:advisor pointcut-ref="allServiceMethod" advice-ref="txAdvice" />
</aop:config>
这是我的dao里面的代码
public void deleteXJGZ(final String gzdh,final String xjgzmc) {
// TODO Auto-generated method stub
this.getHibernateTemplate().delete(this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session arg0) throws HibernateException,
SQLException {
// TODO Auto-generated method stub
Query query=arg0.createQuery("from XJGZ where tsnum = ? and tsname = ?");
query.setParameter(0, gzdh);
query.setParameter(1, xjgzmc);
return (XJGZ)query.uniqueResult();
}
}));
}
真的不知道什么原因了,看网上改了好多,也没什么作用还是这个问题,求帮忙解决啊,谢谢