Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 为什么对于批量更新,应将二级缓存设置为false。这是真的吗_Hibernate_Jakarta Ee_Hibernate Mapping_Second Level Cache_Hibernate Batch Updates - Fatal编程技术网

Hibernate 为什么对于批量更新,应将二级缓存设置为false。这是真的吗

Hibernate 为什么对于批量更新,应将二级缓存设置为false。这是真的吗,hibernate,jakarta-ee,hibernate-mapping,second-level-cache,hibernate-batch-updates,Hibernate,Jakarta Ee,Hibernate Mapping,Second Level Cache,Hibernate Batch Updates,Hibernate文档说批量更新的二级缓存应该设置为false。这是真的吗?如果是,为什么?都是真的有问题吗? org.hibernate.cache.ehcache.EhCacheRegionFactory 真的 50二级缓存保留对当前事务中使用的所有对象的引用。批量更新主要用于更新许多对象(>10'000)。这么多的对象需要大量内存,但收获甚微:很快,您可能不再需要它们中的任何一个(或者更确切地说,如果您更新了一百万个对象,您就不知道接下来需要哪一个) 因此,将所有这些对象放入二级缓存会带来

Hibernate文档说批量更新的二级缓存应该设置为false。这是真的吗?如果是,为什么?都是真的有问题吗? org.hibernate.cache.ehcache.EhCacheRegionFactory 真的
50

二级缓存保留对当前事务中使用的所有对象的引用。批量更新主要用于更新许多对象(>10'000)。这么多的对象需要大量内存,但收获甚微:很快,您可能不再需要它们中的任何一个(或者更确切地说,如果您更新了一百万个对象,您就不知道接下来需要哪一个)

因此,将所有这些对象放入二级缓存会带来两个问题:1。它浪费内存和内存。它可以分配如此多的内存,以至于您耗尽了它


要禁用当前会话的缓存,请使用
session.setCacheMode(CacheMode.IGNORE)
。来源:

谢谢。如何临时禁用二级缓存尝试
会话。设置缓存模式(CacheMode.IGNORE)
。来源:如何临时禁用二级缓存?