我将实体添加到数据库中,并且工作正常。但是,当我检索列表时,会得到旧实体,直到取消取消部署该应用程序并重新部署该应用程序后,才会显示添加的新实体。这意味着默认情况下是否缓存我的实体?但是,我没有在persistence.xml或任何此类文件中进行任何用于缓存实体的设置。

我什至尝试调用flush(),refresh()和merge()。但它仍然仅显示旧实体。我想念什么吗?请帮我。

最佳答案

欢迎使用JPA。如果使用它,则意味着如果在JPA外部更新数据库,除非您知道自己在做什么并且非常小心,否则将遇到很多问题。这意味着您必须弄清楚如何刷新所有缓存的实体,以便可以重新加载它们。

基本上,如果您可以提供任何帮助,请不要更新JPA之外的实体,如果这样做,您可能必须了解特定JPA提供程序使用的缓存模型的工作原理。如果您需要在JPA之外进行大量更新,那么JPA可能不是您的正确选择。

关于java - 默认情况下,实体是否缓存在jpa中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2707903/

10-12 00:37
查看更多