java - JPA 惰性插入

标签 java sql hibernate jpa lazy-evaluation

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

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

最佳答案

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

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

关于java - JPA 惰性插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305251/

相关文章:

java - scheduleAtFixedRate 方法上的 IllegalArgumentException

sql - Azure Synapse SQL 按需分页(OFFSET/FETCH)

php - 通过外列更新 MySQL 查询

java - 如何使用注释在 Hibernate 中映射映射列表?

java - EJB环境下如何使用外部文件进行数据库配置

java - 如何解决 "add all in list cannot be applied to"

java - 是否可以使用mockito 实现单个 void 方法的主体?

java - JProgressBar 在 Linux 上运行缓慢

sql - 数据库设计: please help me to understand relationship types

java - 在事务中两次持久化同一实体时出错