当前位置: 首页 > news >正文

mysql hibernate save_java Hibernate save()与persist()区别

Hibernate 之所以提供与save()功能几乎完全类似的persist()方法,一方面是为了照顾JPA的用法习惯。另一方面,save()和 persist()方法还有一个区别:使用 save() 方法保存持久化对象时,该方法返回该持久化对象的标识属性值(即对应记录的主键值);但使用 persist() 方法来保存持久化对象时,该方法没有任何返回值。因为 save() 方法需要立即返回持久化对象的标识属性,所以程序执行 save() 会立即将持久化对象对应的数据插入数据库;而 persist() 则保证当它在一个事物外部被调用时,并不立即转换成 insert 语句, 这个功能是很有用的,尤其当我们封装一个长会话流程的时候,persist() 方法就显得尤为重要了。

这里给出一个明确的区分。(可以跟进src看一下,虽然实现步骤类似,但是还是有细微的差别)

主要内容区别:

1,persist把一个瞬态的实例持久化,但是并"不保证"标识符(identifier主键对应的属性)被立刻填入到持久化实例中,标识符的填入可能被推迟到flush的时候。

2,save, 把一个瞬态的实例持久化标识符,及时的产生,它要返回标识符,所以它会立即执行Sql insert

其它网友的解释:

save方法

保存持久化对象时,该方法返回该持久化对象的标识属性值(即主键)。

该方法会立即将持久化对象的对应数据插入数据库。

persist方法

该方法没有返回任何值。

保证当它在一个事务外部被调用时,并不立即转换为insert语句。

适用于长会话流程。

相关文章:

  • mysql database 函数_MySQL中DATABASE()和CURRENT_USER()函数的示例详解
  • mysql 21_MySQL中,21个写SQL的好习惯(修正版)
  • mysql limit 后子查询_Mysql子查询用limit
  • mysql5.5.62怎么使用_centos7 安装 mysql5.5.62
  • php mysql 排名算法_PHP实现四种基础排序算法的运行时间比较(推荐)
  • python 输出字典字符_从服务器到字典的python输出字符串
  • 用el表达式取出mysql中的值_用c标签,el表达式动态取数据库中的值并显示在页面上,动态下拉列表的实现,html:select...
  • 抓狐狸python_Python运算符
  • mysql数据库set names_MySQL数据库之mysql SET NAMES
  • python xls 合并为 cvs_使用python把csv汇总成excel
  • python 可迭代对象和迭代器区别_python生成器,可迭代对象,迭代器区别和联系...
  • java打印文件_java 循环打印文件夹文件
  • java sql系统_用Java实现数据库应用系统
  • jmeter的java请求参数设置_jmeter之 java请求
  • java如何设置系统属性_java – 设置系统属性
  • Google 是如何开发 Web 框架的
  • [iOS]Core Data浅析一 -- 启用Core Data
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Javascript设计模式学习之Observer(观察者)模式
  • Java小白进阶笔记(3)-初级面向对象
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • magento2项目上线注意事项
  • orm2 中文文档 3.1 模型属性
  • PHP的Ev教程三(Periodic watcher)
  • Shell编程
  • spring + angular 实现导出excel
  • spring boot下thymeleaf全局静态变量配置
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 第十八天-企业应用架构模式-基本模式
  • 分享一份非常强势的Android面试题
  • 简单数学运算程序(不定期更新)
  • 前端面试之闭包
  • 什么软件可以剪辑音乐?
  • 王永庆:技术创新改变教育未来
  • 智能合约开发环境搭建及Hello World合约
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​io --- 处理流的核心工具​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (Python) SOAP Web Service (HTTP POST)
  • (二)fiber的基本认识
  • (二)斐波那契Fabonacci函数
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (南京观海微电子)——COF介绍
  • (篇九)MySQL常用内置函数
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转)memcache、redis缓存
  • (轉)JSON.stringify 语法实例讲解
  • .NET 发展历程