博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate中持久化上下文的flush操作之一COMMIT
阅读量:4177 次
发布时间:2019-05-26

本文共 819 字,大约阅读时间需要 2 分钟。

在Hibernate中持久化上下文的flush操作模式中,JPA还支持COMMIT(JPA只支持AUTO和COMMIT两种)。对于COMMIT的flush操作模式,JPA针对HQL查询和native SQL查询有不同的执行:

  • 对于HQL查询,无论是否涉及到了被缓冲的Entity对象,都只会在当前事务提交的时候执行flush操作
  • 对于native SQL查询,如果涉及到了被缓冲的Entity对象,将会执行flush操作

1.HQL查询

txn = entityManager.getTransaction();  txn.begin();Person person = new Person("John Doe");entityManager.persist(person);entityManager.createQuery("select p from Advertisement p")    .setFlushMode( FlushModeType.COMMIT)    .getResultList();entityManager.createQuery("select p from Person p")    .setFlushMode( FlushModeType.COMMIT)    .getResultList();//flush executed  txn.commit();

2.native SQL查询

Person person = new Person("John Doe");entityManager.persist(person);//flush executedentityManager.createNativeQuery("select count(*) from Person").setFlushMode( FlushModeType.COMMIT).getSingleResult();

转载地址:http://tilai.baihongyu.com/

你可能感兴趣的文章
第七篇: 分布式配置中心(Greenwich版)
查看>>
.properties文件 git 提交后中文字符会乱码
查看>>
第八篇: Spring Cloud Bus(Hoxton版本)
查看>>
sqlserver出现文件组‘PRIMARY‘已满
查看>>
Idea移除和重新导入Maven工程module
查看>>
第九篇: Spring Cloud Sleuth(Hoxton版本)
查看>>
第九篇:高可用的服务注册中心
查看>>
第十篇: Hystrix Dashboard(Hoxton版本)
查看>>
第十一篇: Turbine(Hoxton版本)
查看>>
sqlserver导入sql文件的方式
查看>>
IDEA无法登录github解决
查看>>
Spring Bean的生命周期
查看>>
mysql的通用查询日志和慢查询日志
查看>>
IDEA中设置Run Dashboard(Services)
查看>>
Mysql5.7免安装安装教程 win10
查看>>
SpringBoot属性注入的几种方式
查看>>
Idea 解决SVN冲突
查看>>
Sptingboot AOP实现多数据源切换(Hive Impala oracle)
查看>>
dynamic-datasource动态多数据源整合hive impala
查看>>
Mybatis+impala插入超过510个字符串的字段报:HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE
查看>>