【发布时间】:2014-09-15 14:10:36
【问题描述】:
虽然我需要这个答案来更好地了解如何在 Wildfly 8.1 中集成 Vaadin 7 和 JPAContainer 插件,但这是一个适用于 Hibernate 和 Eclipse-link JPA 实现的一般问题。
JPACaontainer Vaadin Addon 建议为整个 servlet 会话使用 EntityManager,这个 IMO 不是好的设计,因为 AFAIK(请纠正我)扩展它总是更好地使用无状态 EntityManager-Per-Request 模式
JPAContaner 插件声明:
- Hibernate 不能长时间保持实体管理器没有问题。
- Hibernate 的一个问题是它是为短期会话而设计的,但实体管理器的生命周期通常与用户会话(读取、servlet 会话)的生命周期大致相同。问题是,如果会话或实体管理器中发生错误,管理器将变得无法使用。这会导致在 EclipseLink 上可以正常工作的长期会话出现大问题。
Hibernate 和 EclipseLink 之间的区别是什么,在实现级别上使这两个陈述成立?或者,这两个陈述首先是否有效?
【问题讨论】:
-
EntityManager API 用于访问特定工作单元中的数据库。 (来源:docs.jboss.org/hibernate/stable/entitymanager/reference/en/…)Em 被设计为短命的。在相关的JSR里很清楚
标签: java hibernate jakarta-ee jpa eclipselink