我目前正在创建一个j2ee应用程序,其中一部分正在容器外运行,使用servletcontextlistener启动它。但是,我也需要从这个部分访问数据库。我目前有一个实体和一个无状态会话bean可以使用entitymanager获取。我测试了多个东西(entitymanagerfactory、initial context、ejbcontainer),但都没有成功。我需要怎么做?
yi0zb3m41#
您不需要ejb,实际上您不能在容器外创建ejb。您需要jpa、orMap器和jdbc。这些通常在ejb容器中正确配置。在容器外面你必须自己做。您必须正确定义您的依赖项,这样就可以使用正确的jdbc驱动程序和orMap器(可能是eclipselink或hibernate?),然后,您需要定义一个presistence.xml来定义要使用的实体,并定义如何通过jdbc访问dbms。如果所有配置都正确,entitymanagerfactory是为persistence.xml中定义的持久化单元创建entitymanger的正确方法。网上有很多例子。例如。:https://examples.javacodegeeks.com/enterprise-java/jpa/java-persistence-xml-example/ 如果你使用的是eclipselink,应该可以。https://docs.jboss.org/hibernate/orm/3.6/quickstart/en-us/html/hibernate-gsg-tutorial-jpa.html 以防冬眠。
1条答案
按热度按时间yi0zb3m41#
您不需要ejb,实际上您不能在容器外创建ejb。您需要jpa、orMap器和jdbc。这些通常在ejb容器中正确配置。在容器外面你必须自己做。
您必须正确定义您的依赖项,这样就可以使用正确的jdbc驱动程序和orMap器(可能是eclipselink或hibernate?),然后,您需要定义一个presistence.xml来定义要使用的实体,并定义如何通过jdbc访问dbms。
如果所有配置都正确,entitymanagerfactory是为persistence.xml中定义的持久化单元创建entitymanger的正确方法。
网上有很多例子。例如。:
https://examples.javacodegeeks.com/enterprise-java/jpa/java-persistence-xml-example/ 如果你使用的是eclipselink,应该可以。
https://docs.jboss.org/hibernate/orm/3.6/quickstart/en-us/html/hibernate-gsg-tutorial-jpa.html 以防冬眠。