Tag: second level cache

如何在不更改注释的情况下禁用Hibernate中某些特定实体的二级缓存

我在我的应用程序中使用Hibernate二级缓存,由于某些商业原因, 我无法再更改实体注释 。 在我的项目中,除了从Hibernate更改数据库之外,还存在其他未通过Hibernate的本机SQL。 因此,从本机SQL更新数据库后,Hibernate二级缓存数据可能会过时。 这就是为什么我想为某些实体禁用二级缓存(以编程方式或以其他方式更改注释)。 提前致谢!

实体是否默认缓存在jpa中?

我将实体添加到我的数据库,它工作正常。 但是当我检索List时,我得到了旧实体,我添加的新实体在我取消部署应用程序并再次重新部署之前不会显示。 这意味着我的实体默认是缓存的吗? 但是,我没有在persistence.xml或任何此类文件中对缓存实体进行任何设置。 我甚至尝试过调用flush(),refresh()和merge()。 但它仍然只显示旧实体。 我错过了什么吗? 请帮帮我。