Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Jpa 重新启动后首先加载持久化对象的列表_Jpa_Persistence_One To Many - Fatal编程技术网

Jpa 重新启动后首先加载持久化对象的列表

Jpa 重新启动后首先加载持久化对象的列表,jpa,persistence,one-to-many,Jpa,Persistence,One To Many,代码 类列表{ @OneToMany(targetEntity=ShoppingItemStatus.class, cascade=CascadeType.ALL,fetch=FetchType.LAZY) 私有列表项=新的ArrayList() } 你好, 我正在使用eclipselink和Glassfish,我遇到了一个非常恼人的错误 我坚持一个目标 我正在读取对象列表(包括新对象) 新对象的“项”不包含任何项 然后我重新启动服务器: 所有项目均正确包含。我不能真正理解这个错误,因为在步骤2

代码

类列表{
@OneToMany(targetEntity=ShoppingItemStatus.class, cascade=CascadeType.ALL,fetch=FetchType.LAZY)
私有列表项=新的ArrayList()

}

你好,

我正在使用eclipselink和Glassfish,我遇到了一个非常恼人的错误

  • 我坚持一个目标
  • 我正在读取对象列表(包括新对象)
  • 新对象的“项”不包含任何项
  • 然后我重新启动服务器:

    所有项目均正确包含。我不能真正理解这个错误,因为在步骤2中。表中ShoppingItemStatus和list之间的数据存在

    我搜索了两天,更改了实体中的每个配置和注释

    我不知所措
    提前感谢您的帮助

    我的猜测是当你没有更新关系的双方时。因为你从来没有添加过一次,所以当你重新阅读它时,它是空的。你需要维持双方的关系

    看,,

    默认情况下,EclipseLink启用共享缓存。当您重新读取来自缓存的对象,并且仍然具有您持久化为的状态时,您将看到它

    即使没有共享缓存,在单个实体管理器/事务中也会出现此问题


    您可以随时禁用共享缓存以避免此问题,但仍需要修复代码。

    好的,谢谢。一个简单的em.clear()结束了所有的工作。我试过了,但还是有这个问题,你说要修复我的代码。你这到底是什么意思?谢谢