Hibernate session FlushMode有五种属性:
1、NEVEL:已经废弃了,被MANUAL取代了
2 MANUAL:
如果FlushMode是MANUAL或NEVEL,在操作过程中hibernate会将事务设置为readonly,所以在Spring与Hibernate集成后进行增加、删除或修改操作过程中会出现如下错误
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 from
transaction definition;
解决办法:配置事务,spring会读取事务中的各种配置来覆盖hibernate的session中的FlushMode;
3 AUTO
设置成auto之后,当程序进行查询、提交事务或者调用session.flush()的时候,都会使缓存和数据库进行同步,也就是刷新数据库。
4 COMMIT
提交事务或者session.flush()时,刷新数据库;查询不刷新
5 ALWAYS:
每次进行查询、提交事务、session.flush()的时候都会刷数据库
ALWAYS和AUTO的区别:当hibernate缓存中的对象被改动之后,会被标记为脏数据(即与数据库不同步了)。当
session设置为FlushMode.AUTO时,hibernate在进行查询的时候会判断缓存中的数据是否为脏数据,是则刷数据库,不是则不刷,
而always是直接刷新,不进行任何判断。很显然auto比always要高效得多。
JPA的FlushModeType只有两种:
1、COMMIT:仅当提交事务时才能进行刷新
2、AUTO:(默认)在执行查询时进行刷新
分享到:
相关推荐
JPA-Hibernate包, JPA-Hibernate包, JPA-Hibernate包, JPA-Hibernate包, JPA-Hibernate包, JPA-Hibernate包
JPA 反向工程 Hibernate反向
jpa之使用hibernate实现
JPA与Hibernate的优缺点
JPA注解创建数据库表 和hibernate.cfg.xml 建表
NULL 博文链接:https://jeenry119.iteye.com/blog/1431844
jpa基于hibernate的实现所需的jar之一,一共有3个jar 这是从里面提取出来的 hibernate-annotations-3.4.0 hibernate-distribution-3.3.1 hibernate-entitymanager-3.4.0 一共16个jar包括一个Mysql的JDBC驱动
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
十分全面的通过JPA规范实现hibernate需要用到的jar包
首个JPA的Demo及所需的Hibernate3相关的包
NULL 博文链接:https://ben-sin.iteye.com/blog/978082
jpa + hibernate 简单列子实现和junit测试 完整jar包都已测试过。
对Spring与Hibernate进行了整合,在eclipse下创建一个示例性的Dynamic Web Project. 源码包含库文件。
Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子 文章分类:Java编程 本文代码是Spring2.5各种示例的综合,在此把所有框架升级到最新版本整合一下。
JPA和Hibernate的关系,JPA:Java Persistence APIJPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
jpa和hibernate的一个简单例子
NULL 博文链接:https://godit.iteye.com/blog/1716651
搭建一个JPA+hibernate实例
該Jar包,帮你整理了jpa与hibernate整合的所有所需的jar包,也已经分类处理了,让你不再疑惑哪些包要不要导入工程中!
antlr-2.7.6.jar, cglib-2.2.jar, commons-collections-3.1.jar, ...hibernate-jpa-2.0-api-1.0.0.Final.jar, javassist-3.9.0.GA.jar, jta-1.1.jar, slf4j-api-1.6.1.jar, slf4j-log4j12-1.6.1.jar