【问题标题】:JSF2 with EJB3 and JPA - how best to packageJSF2 与 EJB3 和 JPA - 如何最好地打包
【发布时间】:2013-05-15 15:25:55
【问题描述】:

我正在尝试通过创建一些功能来自学 EJB3 和 JPA,这些功能使用 JSF2 作为前端,使用无状态 EJB3 会话 bean 来处理事务,使用 JPA 来持久化实体。

理想情况下,我希望 EJB 应用程序位于远程服务器上,而 JSF2 war 文件位于单独的服务器上并进行远程通信 - 从而模拟分布式项目。但我希望他们共享相同的 JPA 实体类(因为将它们转换为其他 DTO 对象只是为了前端使用似乎没有意义 - 所以如果 JPA 项目在它自己的项目中,这对我来说很有意义

我难以理解的是如何最好地打包和部署各种组件。 最好部署: 1) 在服务器一上:一个包含 JPA jar 文件和 EJB 模块的 EAR 文件在一台服务器上。但是如果我这样做,persistence.xml 文件应该放在哪里 - 在 jpa jar 文件中还是在 ejb 模块中?

和 2)在服务器二上:一个带有JSF应用程序的war文件和这个war的WEB-INF lib中的JPA jar文件。在这种情况下,我假设 EJB 接口也需要外部化为 jar 文件并包含在 web-inf/lib 中?

还是我的想法完全错误?

对于实现我想要做的事情的最佳实践应该是什么想法,我会很感激吗?如果我做错了,请提前道歉……这是一种学习体验!

【问题讨论】:

    标签: jsf-2 deployment jpa-2.0 ejb-3.0 packaging


    【解决方案1】:

    第一个 JPA 对象由持久性上下文管理,因此我不建议将该对象传递给 Web 层。您可以使用 JAXB 对象发送到您的 Web 层。应该读取 JPA 实体对象并将其设置为 JAXB 对象字段并返回相同的值。

    它比 pojo 映射框架更快更容易。

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2012-03-29
      • 2011-10-15
      • 2023-04-11
      • 2014-07-29
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2010-09-16
      相关资源
      最近更新 更多