社区
Java EE
帖子详情
hibernate save的时候怎么知道到底要Insert还是update?
chichenzhe
2017-04-24 07:20:05
hibernate save的时候怎么知道到底要Insert还是update?
难道首次去执行的时候 他还select一次?
...全文
600
4
打赏
收藏
hibernate save的时候怎么知道到底要Insert还是update?
hibernate save的时候怎么知道到底要Insert还是update? 难道首次去执行的时候 他还select一次?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
evanweng
2017-04-25
打赏
举报
回复
我记得是看有没有持久化,有持久化就会更新,没有持久化就会新增一个记录,而且id是自增的,指定了也没用
chichenzhe
2017-04-25
打赏
举报
回复
引用 1 楼 q54244125 的回复:
hibernate强制有个主键ID 根据id,有就update 没有就insert
不对, 这个ID是 程序要生成的 hibernate还是无法判定到底该做什么操作. 比如t1表: id, name, age javabean也有这3个变量 并且3个都已经赋值, 按理hibernate应该update 因为id已经赋值. 但是实际执行的是insert
GetIndex
2017-04-25
打赏
举报
回复
insert 操作之后 id 就不为空了!
天涯若风
2017-04-25
打赏
举报
回复
hibernate强制有个主键ID 根据id,有就update 没有就insert
Hibernate
的save()方法如何判断是
insert
还是
update
Hibernate
的save()方法如何判断是
insert
还是
update
之前大概了解在使用save()方法的时候,要是执行更新操作,就先查再调用save();要是执行插入操作,就新建一个对象,将属性赋值,再调用save()方法。 今天研究了下save方法的源码,如下 public T save(T entity) throws DataAccessException { if(entity.isNew()) { this.pre
Insert
(entity);
关于
Hibernate
的save方法同时打印
insert
语句和
update
语句的困惑
声明BZ只是一个新手,针对个人解决的问题。欢迎各位高手指正。 最近项目中遇到这个问题在
hibernate
执行save方法时由于在设置实体的外键使用了CascadeType.ALL,导致保存失败(BZ的本意是不用保存关联实体,所以关联实体为NULL),发现后台同时打印
insert
语句和
update
语句, 开始以为先插入后又自动更新了实体很困惑,googlel了很多的资料都没有得到
hibernate
之
insert
和
update
控制实战
hibernate
之
insert
和
update
控制实战 2016年02月03日 17:59:58 阅读数:5458
Hibernate
在初始化阶段,会根据对象-关系映射文件生成预编译SQL语句。 1.
insert
,例如Customer类,初始化时根据映射文件生成预编译SQL
insert
into CUSTOMERS (NAME, EMAIL, PASSWORD, P...
使用
Hibernate
自定义数据类型Usertype的实体对象保存的时候会先执行
insert
再执行
update
?
背景 上一篇文章提到再jdbc.url中添加rewriteBatchedStatements=true使得大批量插入数据速度得到巨大的提升。在实际生产环境添加了这个参数后发现涉及大批量插入数据的功能速度提升很明显,而有些速度提升效果远远低于预期,我决定一探究竟。 排查步骤 定位程序耗时最长的功能 整个功能是先将数据从E文本中解析组织为实体类对象,然后调用
Hibernate
的入库功能,然后经过一些后置处理。通过统计发现入库的解析的时间很短,入库花费的时间很长。毕竟是生产级别的数据,难道是数据量太大导致总体入库
hibernate
save/persist/
update
/saveOr
Update
/merge解读
hibernate
的各种保存方式(save,persist,
update
,saveOrUpdte,merge,flush,lock) 1. save 和 persist 方法的区别: (1. 没有开启事物的条件下 ,save 会产生
insert
语句,然后事物回滚,取消插入。而persist不会产生
insert
语句,不会执行任何插入操作. (2. 当对
Java EE
67,541
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章