使用捆绑软件内的 JPA 访问数据会假设您正在已被视为服务器上的 Java™ EE 模块的捆绑软件内工作。例如,已启用 JPA 构面且包含实体以及用于使用 JPA 访问、耗用和显示数据的逻辑的 OSGi Web 应用程序捆绑软件。另一个示例是包含 JPA 实体以及用于通过使用已在 OSGi 应用程序中发布(而不是 EAR 部署的一部分)的 JPA 耗用数据的逻辑的 Web 项目。
您需要先配置 OSGi 捆绑软件并将数据源添加至 WebSphere® Application Server,才能访问 JPA 持久性单元。
请确保 JPA 持久性文件包含对 Java 事务 API (JTA) 和非 JTA 数据源的引用。
在 OSGi 应用程序的 persistence.xml 文件中,jta-data-source 和 non-jta-data-source 元素通过 Java 命名和目录接口 (JNDI) 查找(针对服务注册表的 JNDI 查询)或通过蓝图访问数据源。
如果在 persistence.xml 文件中未配置 JTA 和非 JTA 数据源,那么将使用为服务器配置的缺省 JTA 和非 JTA 数据源。缺省情况下,这些值是空值。某些 JPA 实体功能需要指定非 JTA 数据源。例如,自动实体身份生成。