【问题标题】:JPA lazy insertJPA 惰性插入
【发布时间】:2016-05-20 05:13:08
【问题描述】:

在 JPA 中有很多关于延迟获取的帖子,例如休眠。但是,我找不到提及惰性插入的内容。

假设我的 DAO 有一个带有公共 getter 和 setter 的 List 属性。而不是setMyList(List<Type> mylist),但是我更喜欢逐个添加项目,从而产生像addToMyList(Type item) 这样的界面。通常这将转化为每次调用的 INSERT 语句,这听起来像是巨大的开销。在插入任何东西之前,总结 DAO 上所有添加的最简洁的方法是什么?

【问题讨论】:

  • INSERT 语句将已经排队,直到您刷新到数据库。您是否考虑为许多应用程序级插入对数据库执行单个 INSERT

标签: java sql hibernate jpa lazy-evaluation


【解决方案1】:

您是要在同一笔交易中将商品添加到您的列表中,还是要在多个不同的交易中添加?我认为不可能在许多不同的事务中延迟/延迟插入,除非您有一些缓存服务不那么频繁地刷新到您的数据存储。

如果是同一事务,每次调用 add() 方法都不会实时触发插入;所有插入将在您的会话/事务结束时一起执行(除非之前由同一个表中的选择或手动 api 调用触发刷新)。

【讨论】:

猜你喜欢
  • 2019-02-20
  • 2016-10-21
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多