数据访问和 Spring Framework

为使 Spring Bean 能够访问数据源,您必须配置这些 Bean,以便 Spring Framework 委派给 WebSphere® Application Server 运行时并与该运行时正确集成。

Spring Framework 将 Spring bean 与容器管理层进行打包,以便在企业应用程序环境中将这些 bean 委托给底层的企业应用程序运行时。下列各节描述了配置用于访问数据源的 Spring Bean 时要考虑的事项。

访问应用程序服务器中配置的数据源

为了 Spring 应用程序能够访问诸如 Java™ 数据库连接 (JDBC) 数据源之类的资源,该应用程序必须使用由应用程序服务器管理的资源提供程序。

为此,请参阅配置 Spring 应用程序数据源的访问主题。

JDBC 本机连接

WebSphere Application Server 不支持使用 Spring Framework 提供的 NativeJdbcExtractor 类,所以请避免采用使用此类的方案。此类的实现将访问本机 JDBC 连接,并且会绕过应用程序服务器中的服务质量功能,如跟踪连接句柄和使连接句柄重新关联、共享连接、管理连接池和事务包含。

作为替代方法,您可以使用应用程序服务器 WSCallHelper 类来访问数据源的非标准供应商扩展。

Java Persistence API

WebSphere Application Server 包括两个 JPA 提供程序;一个基于 EclipseLinks for JPA 2.1,另一个基于 JPA 2.0 的 Apache OpenJPA 实现。有关更多信息,请参阅相关链接。

要将 Spring Framework 与 JPA 实现配合使用,最好是直接使用 JPA,而不是使用 org.springframework.orm.jpa 包中随 Spring Framework 一起提供的 JPA 辅助类。

要使用 Spring Framework 的受管 JPA,您可以在 Web 描述符中定义持久性上下文引用 (web.xml):
<persistence-context-ref>
  <persistence-context-ref-name>some/name</persistence-context-ref-name>
  <persistence-unit-name>pu_name</persistence-unit-name>
</persistence-context-ref>
其中,pu_namepersistence.xml 文件中定义的持久性单元的名称。
持久性上下文便可以从 JDNI 通过 Web 应用程序中的 java:comp/env/some/name 获取。对于 Spring Framework,可以使用 <jee:jndi-lookup/> 检索持久性上下文,如以下示例代码中所示。生成的 EntityManager 对象可在 “entityManager” 标识下获得。
<jee:jndi-lookup id="entityManager" jndi-name="some/name" />
类似地,持久性单元(对于直接使用或与 Spring 包装器类配合使用)可以通过持久性单元引用获取:
<persistence-unit-ref>
  <persistence-unit-ref-name>some/ref_name</persistence-unit-ref-name>
  <persistence-unit-name>pu_name</persistence-unit-name>
</persistence-unit-ref>
生成的 EntityManagerFactory 对象可在 “entityManagerFactory” 标识下获得:
<jee:jndi-lookup id="entityManagerFactory" jndi-name="some/ref_name" />

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cspr_data_access
文件名:cspr_data_access.html