在 EJB 项目中管理休眠实体
Managing hibernate entities in EJB project
我在 NetBeans 中创建了一个 'Enterprise application',并将休眠以及一些休眠映射文件添加到 Web 应用程序项目中。此外,我需要在网络应用程序中添加 'HibernateUtil.java'、'hibernate.cfg.xml' 和 'hibernate.reveng.xml'。
但是我想在我的 EJB 项目中管理这些 entity/mapping 类,因为它们的行为看起来像企业 bean,我想将它们与我的 Web 应用程序分开。我想知道如何做到这一点以及如何通过依赖注入访问我的 Web 应用程序项目中的实体 ejb? 'New' 菜单中还有一个选项:'Create session bean for Entity classes' 想知道它是否对问题有用?
编辑:使用 EJB3
您一开始就不应该将与 JPA 相关的文件放到 WAR 中。将它们保存在 EJB JAR 中,并从 WAR 引用您的 JAR 作为 Maven 中提供的运行时依赖项(或者使用提供的作用域的类似物用于您喜欢的任何构建工具)。当您的 EAR 中需要多个 WAR(不同的安全领域等)
时,将您的业务逻辑保留在 EJB JAR 中将会得到回报
一般来说,这就像将所有与 JPA 相关的东西放入 EJB JAR 中一样简单,然后它们也可用于从 WAR 提供的托管 bean 进行依赖注入。
另外,考虑用 JPA 替换您的 Hibernate 特定配置,并让应用程序服务器为您解决所有问题。
我在 NetBeans 中创建了一个 'Enterprise application',并将休眠以及一些休眠映射文件添加到 Web 应用程序项目中。此外,我需要在网络应用程序中添加 'HibernateUtil.java'、'hibernate.cfg.xml' 和 'hibernate.reveng.xml'。
但是我想在我的 EJB 项目中管理这些 entity/mapping 类,因为它们的行为看起来像企业 bean,我想将它们与我的 Web 应用程序分开。我想知道如何做到这一点以及如何通过依赖注入访问我的 Web 应用程序项目中的实体 ejb? 'New' 菜单中还有一个选项:'Create session bean for Entity classes' 想知道它是否对问题有用?
编辑:使用 EJB3
您一开始就不应该将与 JPA 相关的文件放到 WAR 中。将它们保存在 EJB JAR 中,并从 WAR 引用您的 JAR 作为 Maven 中提供的运行时依赖项(或者使用提供的作用域的类似物用于您喜欢的任何构建工具)。当您的 EAR 中需要多个 WAR(不同的安全领域等)
时,将您的业务逻辑保留在 EJB JAR 中将会得到回报一般来说,这就像将所有与 JPA 相关的东西放入 EJB JAR 中一样简单,然后它们也可用于从 WAR 提供的托管 bean 进行依赖注入。
另外,考虑用 JPA 替换您的 Hibernate 特定配置,并让应用程序服务器为您解决所有问题。