我有一个母子表。用户可以在选择主项目/实体后添加/删除子项目。当主项目列表选择索引改变时,我从数据库中填充此选定主项目的子项目的子表格/数组列表。我打开实体管理器,启动事务,当用户点击相应的子添加/删除按钮时,坚持或删除子实体/项目。我的问题是保持新的和删除的子实体的轨道,而用户选择另一个主项目。因为我在填充新的选定主项目的子实体之前清除子表/ Arraylist(但不清除持久化上下文)。当用户再次选择前一个主项目时,我想反映新的/已移除但未提交的子项目。希望正确解释了我的问题。在JPA上使用hibernate。谢谢。如何获得JPA实体持久/删除但未提交?
0
A
回答
0
那么,只需执行查询以获取所选主控的所有子项。即使事务还没有提交,事务也会在数据库中看到它们,因为它已经保存了它们。
但是,请注意,使用长事务不可扩展,并会导致各种锁定和陈旧问题。为什么不保存孩子,每次用户添加或移除孩子时都会犯下错误?
0
我宁愿不保持用户点击之间的事务打开。他可以去咖啡休息并离开。我宁愿使用临时表,会话,缓存,隐藏输入(如果它是网络前端)等
+0
你能解释一下会话和缓存吗?你在jpa环境中提到这些吗?我的项目中没有Web服务器或Web应用程序,连接池和Web前端。 – 2012-01-13 11:18:26
相关问题
- 1. 无法删除的持久性JPA子实体删除
- 2. JPA - 删除实体
- 3. JPA持久类不是实体
- 4. 如何删除所有JPA实体?
- 5. Wicket - 持久化和非持久JPA实体的序列化
- 6. JPA EntityManager不删除实体
- 7. JPA:删除子实体
- 8. 如何获得持久性的数据库实体的ID?
- 9. 使用实体字段可以持久化JPA实体吗?
- 10. 如何删除一个持久的地图元素与JPA
- 11. 实体未使用EclipseLink持久保存
- 12. JPA - 容器管理持久性不会坚持实体-JTA
- 13. 实体在提交数据核后未立即查询JPA
- 14. 持久性JPA
- 15. 如何获得与Symfony2的形式提交了实体的Id
- 16. 无法删除实体(JPA&Spring)
- 17. JPA实体批量删除不工作
- 18. JPA /休眠删除实体不工作
- 19. JPA - 从@ManyToMany自身删除实体
- 20. 弹簧数据JPA不删除实体
- 21. Spring Data JPA删除子实体
- 22. Hibernate(Spring JPA)子实体的删除
- 23. 获取新持久实体的ID(PK)
- 24. 如何坚持很多实体(JPA)
- 25. 如何删除提交
- 26. 如何获得提交后提交mercurial?
- 27. 删除父实体时未删除子实体
- 28. JPA获得连接的实体
- 29. JPA实体坚持另一个实体
- 30. 如何在Activiti Service中立即将实体持久化/提交实体到数据库任务
我也预计它那样。奇怪。昨天它没有按预期工作,今天是。不管怎么说,还是要谢谢你。我正在开发的项目是一个javaFX程序,只能在少数用户的桌面上运行。这就是为什么保持交易很长时间。 – 2012-01-13 09:34:58