栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在JPA / Hibernate中正确使用flush()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在JPA / Hibernate中正确使用flush()

的确切细节可能

em.flush()
取决于实现。总之,无论如何,像Hibernate这样的JPA提供程序可以缓存应该发送给数据库的SQL指令,通常直到您真正提交事务为止。例如,您调用
em.persist()
,Hibernate记住它必须使数据库INSERT,但是直到您提交事务后,它才真正执行该指令。Afaik,这样做主要是出于性能方面的考虑。

在某些情况下,无论如何,您都希望立即执行SQL指令。通常,当您需要某些副作用(例如自动生成的密钥或数据库触发器)的结果时。

要做的

em.flush()
是清空内部SQL指令缓存,并立即对其执行数据库。

底线:不会造成任何伤害,因为您将优先考虑将JPA提供程序发送到数据库的最佳时间,因为您要覆盖JPA提供程序的决定,因此对性能的影响不大。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号