当前位置: 首页 > 面试题库 >

默认情况下,实体是否缓存在jpa中?

梁建德
2023-03-14
问题内容

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

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


问题答案:

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

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



 类似资料:
  • 问题内容: 如果您定义如下界面 您可以在任何代码段中编写如下 那么equals方法从何而来,接口是否还扩展了超类Object?,如果确实如此,接口如何扩展类? 假设让该接口扩展超类Object,那么如果您看到为什么像Set这样的集合接口定义了equals()和hashCode()方法呢?所有类都扩展了Object类,因此,如果您在Object类中存在的接口中定义任何抽象方法,则实现该接口的人无需实

  • 问题内容: 第二个命令是否将当前路径添加为另一个搜索路径? 用冒号分隔多个路径是否正确? 默认情况下,当前路径不是始终在ClassPath中,因此不需要显式指定吗? 谢谢。 问题答案: 从Oracle的页面上设置类路径: 默认的类路径是当前目录。设置CLASSPATH变量或使用命令行选项将 覆盖 默认值,因此,如果要在搜索路径中包括当前目录,则必须包括“。”。在新设置中。 使用了Windows和类

  • 我是否可以反转曝光,以便显式地启用导出字段,默认情况下不公开字段? 使用Spring数据在这里Rest,所以其他所有的东西都只是存储库,没有额外的层来做一些聪明的事情。

  • 问题内容: 我有一个关于乐观锁定Hibernate的问题。我试图深入了解Hibernate的乐观锁定,但是我有一个疑问。Hibernate使用版本方法(整数或时间戳)来实现乐观锁定。要进行配置,您可以使用@Version批注(或xml配置)并创建一个version属性。另一个选项是使用optimistic- lock =“ all”属性进行配置而不进行版本控制。 我的问题是,如果您没有定义任何版本

  • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http