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,我遇到了一个非常恼人的错误
提前感谢您的帮助 我的猜测是当你没有更新关系的双方时。因为你从来没有添加过一次,所以当你重新阅读它时,它是空的。你需要维持双方的关系 看,, 默认情况下,EclipseLink启用共享缓存。当您重新读取来自缓存的对象,并且仍然具有您持久化为的状态时,您将看到它 即使没有共享缓存,在单个实体管理器/事务中也会出现此问题
您可以随时禁用共享缓存以避免此问题,但仍需要修复代码。好的,谢谢。一个简单的em.clear()结束了所有的工作。我试过了,但还是有这个问题,你说要修复我的代码。你这到底是什么意思?谢谢