gpt4 book ai didi

java - 基本的 Hibernate 缓存问题

转载 作者:行者123 更新时间:2023-11-29 06:21:54 25 4
gpt4 key购买 nike

如果我所做的只是批量插入,Hibernate 是否使用缓存(二级缓存或其他缓存)?没有从数据库请求实体,也没有使用生成器。另外,StatelessSession 与 Session 会改变答案吗?如果我使用 JDBC 批处理大小为 50 的 session 会怎样?我将使用的缓存是 Ehcache

最佳答案

Doe Hibernate use cache (second level or otherwise) if all I am doing is batch inserts?

新插入的实体实例在刷新到数据库之前被缓存在L1缓存( session 级缓存)中(参见13. Batch processing部分),因此需要定期刷新清除您的 session 以防止 OOM。

Also, would StatelessSession vs Session change the answer?

是的。如第 13.3. The StatelessSession interface 节所述: StatelessSession 没有与之关联的持久性上下文,并且不提供许多更高级别的生命周期语义。特别是,无状态 session 不实现一级缓存,也不与任何二级缓存或查询缓存交互

What if I was using a Session with a JDBC batch size of 50?

这只是意味着您应该每插入 50 次就flush/clear session 。

关于java - 基本的 Hibernate 缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com