- 浏览: 699899 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
保存或删除时,报这个错误!
http://blog.csdn.net/sukyle/article/details/4394732
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. 问题:只读模式下(FlushMode.NEVER/MANUAL)写操作不被允许:把你的Session改成FlushMode.COMMIT/AUTO或者清除事务定义中的readOnly标记。 错误原因: OpenSessionInViewFilter在getSession的时候,会把获取回来的session的flush mode 设为FlushMode.NEVER。然后把该sessionFactory绑定到TransactionSynchronizationManager,使request的整个过程都使用同一个session,在请求过后再接除该sessionFactory的绑定,最后closeSessionIfNecessary根据该session是否已和transaction绑定来决定是否关闭session。在这个过程中,若HibernateTemplate 发现自当前session有不是readOnly的transaction,就会获取到FlushMode.AUTO Session,使方法拥有写权限。也即是,如果有不是readOnly的transaction就可以由Flush.NEVER转为Flush.AUTO,拥有insert,update,delete操作权限,如果没有transaction,并且没有另外人为地设flush model的话,则doFilter的整个过程都是Flush.NEVER。所以受transaction(声明式的事务)保护的方法有写权限,没受保护的则没有。 解决方法: web.xml配置里添加 <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> <init-param> <param-name>sessionFactoryBeanName</param-name> <param-value>sessionFactory</param-value> </init-param> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name> flushMode </param-name> <param-value>AUTO </param-value> </init-param> </filter> // 。。。。 <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 如果在交给spring 管理的情况下,在beans.xml 里的配置 <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <aop:config> <aop:pointcut id="bussinessService" expression="execution(* com.fan.service.base.*.*(..))" /> <aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice" /> </aop:config> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="get*" read-only="false" propagation="NOT_SUPPORTED"/> <tx:method name="find*" read-only="false" propagation="NOT_SUPPORTED"/> <tx:method name="save*" propagation="REQUIRED"/> // 如果不把save update delete都配置上, <tx:method name="update*" propagation="REQUIRED"/> //这些操作会无效 <tx:method name="delete*" propagation="REQUIRED"/> </tx:attributes> </tx:advice>
http://blog.csdn.net/sukyle/article/details/4394732
发表评论
-
Tomcat:IOException while loading persisted sessions: java.io.EOFException
2013-11-14 17:39 869Tomcat:IOException while loadin ... -
'sessionFactory' or 'hibernateTemplate' is required
2013-08-18 21:35 818'sessionFactory' or 'hibernateT ... -
column: id (should be mapped with insert="false" update="false")
2013-08-18 16:59 2037Spring集成Hibernate:column: id (s ... -
Unsupported major.minor version 51.0
2013-08-17 10:01 1045Unsupported major.minor version ... -
SVN无法提交-RA layer request failed
2013-08-05 09:12 1258SVN无法提交-RA layer request failed ... -
类是ThreadPoolExecutor:时不时的就会在workerDone(this);
2013-07-05 00:17 2650类是ThreadPoolExecutor:时不时的就会在wo ... -
Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds
2013-03-21 15:34 1974一、bug:Server Tomcat v6.0 Server ... -
java.lang.UnsupportedClassVersionError: Bad version number in .class file
2013-03-19 10:33 950bug: java.lang.UnsupportedClas ... -
找不到包:javax.servlet.annotation.WebServlet
2013-03-18 16:54 14826找不到包:javax.servlet.annotation.W ... -
异常:Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntit
2013-03-08 23:47 3393异常:Unable to instantiate defau ... -
java.sql.SQLException: Can't call commit when autocommit=true
2013-01-29 11:00 5673当我在数据库更新, ... -
java.security.NoSuchAlgorithmException: AES KeyGenerator not available
2013-01-28 10:23 12142java.security.NoSuchAlgorithmEx ... -
java.util.MissingResourceException: Can't find bundle for base name systemConfig
2013-01-28 10:19 23555bug:java.util.MissingResourceEx ... -
Cannot find message resources under key org.apache.struts.action.MESSAGE
2013-01-15 14:53 1062异常1: Cannot find message resour ... -
org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator
2013-01-11 15:35 1759org.springframework.dao.Invalid ... -
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity
2013-01-11 15:10 8319引用org.springframework.orm.hiber ... -
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema n
2013-01-10 11:06 2712Configuration problem: Unable t ... -
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle
2013-01-10 10:57 10313java.lang.NoClassDefFoundError ... -
java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
2013-01-10 10:53 1012java.lang.NoClassDefFoundError: ... -
java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
2013-01-10 10:50 998整合SSH的时报错误: java.lang.NoClassDe ...
相关推荐
`org.springframework.orm.ObjectRetrievalFailureException`、`org.springframework.beans.factory.BeanCreationException` 和 `org.springframework.dao.InvalidDataAccessApiUsageException` 等。 #### 二、`org...
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker ...
<bean name="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor"> <bean id="urlMapping" class="org.springframework.web.servlet.handler....
问题 1:如果各层都不加事务管理的话,会报错 `org.springframework.dao.InvalidDataAccessApiUsageException`。 解决方案:在各层中添加 `@Transactional` 注解,例如: ```java @Transactional public void ...
`HibernateTemplate`是Spring框架中的一个类,位于`org.springframework.orm.hibernate3`包下。它提供了一系列简化Hibernate数据访问操作的方法,并且能够自动将Hibernate异常转换为Spring的数据访问异常体系中的...
InvalidDataAccessApiUsageException InvalidDataAccessResourceUsageException InvalidDestinationException InvalidInvocationException InvalidIsolationLevelException InvalidMetadataException ...
该异常层次结构是 Spring 框架中 DAO(Data Access Object)模块的一部分,其目的是为了提供一个统一的错误处理机制,使得开发者可以更方便地处理数据访问层中的错误。 DataAccessException 是一个 ...
Hibernate的异常体系基于JDBC异常,主要包括PersistenceException、ConstraintViolationException、InvalidDataAccessApiUsageException等,理解这些异常有助于调试和优化代码。 **10. 性能优化** 优化Hibernate...