可以在 Tomcat7 中执行带有 EJB3.1 POJOS 的 JSF2 Web 应用程序,而无需更改注释 @EJB 实体和 EJB3.1 相关代码。
我正在使用 PrimeFaces 3.4.x、Eclipselink JPA 2.3、EJB3.1
最后我想坚持使用Tomcat7而不使用JavaEE6服务器,因为一些客户由于内部限制无法迁移到新的Java EE服务器。
但我希望本机查询和/或标准查询与 JPA 很好地配合使用,例如连接(左、外和内连接)、插入多个表等。
我使用 GlassFish3.1 的旅程非常好,使用 EJB3.1 和 Eclipselink JPA 的 primefaces CRUD 应用程序。
但是我无法执行我的应用程序,因为 EJB 会话 bean 无法实例化,而无需更改 EJB 代码。
我正在考虑更改设计和源代码,以便我的应用程序在 Tomcat 7 和 Glassfih3.x 中运行。可能会避免使用 EJB3.1 并使用诸如 DAO 之类的东西(即使用 J2EE 模式而不是 Java EE6 模式)。
UsersController.java 的 EJB3.1 代码片段:-
@EJB
(1) 私有 com.myapp.session.UsersFacade ejbFacade;
(2) private UsersFacade getFacade() { return ejbFacade; }
// validateUser() 方法返回一个字符串。(3) 字符串结果 = getFacade().validateUser();
perisistence.xml 文件
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">jdbc/ABC false