Datenzugriff und Spring Framework
Damit Spring-Beans auf eine Datenquelle zugreifen können, müssen Sie diese Beans so konfigurieren, dass Spring Framework Anforderungen an die Laufzeitumgebung von WebSphere Application Server delegiert und ordnungsgemäß in diese Laufzeitumgebung integriert wird.
Spring Framework schließt Spring-Beans in eine Container-Management-Schicht ein, die Anforderungen in einer Unternehmensanwendungsumgebung an die zugrunde liegende Laufzeitumgebung der Unternehmensanwendungen delegiert. In den folgenden Abschnitten wird beschrieben, was Sie beim Konfigurieren von Spring-Beans beachten müssen, die auf eine Datenquelle zugreifen.
Zugriff auf Datenquellen, die im Anwendungsserver konfiguriert sind
Damit eine Spring-Anwendung auf eine Ressource, z. B. eine JDBC-Datenquelle (Java™ Database Connectivity), zugreifen kann, muss die Anwendung einen Ressourcenprovider verwenden, der vom Anwendungsserver verwaltet wird.
Informationen hierzu finden Sie im Artikel Zugriff auf eine Spring-Anwendungsdatensquelle konfigurieren.
Native JDBC-Verbindungen
WebSphere Application Server bietet keine Unterstützung für die Verwendung der von Spring Framework bereitgestellten Klasse "NativeJdbcExtractor". Vermeiden Sie deshalb Szenarien, in denen diese Klasse verwendet wird. Implementierungen dieser Klasse greifen auf native JDBC-Verbindungen zu und umgehen die Servicequalitätsfunktionen im Anwendungsserver, wie z. B. Verfolgung und erneute Zuordnung von Verbindungskennungen, gemeinsame Nutzung von Verbindungen, Verwaltung von Verbindungspools und Beteiligung an Transaktionen.
Alternativ können Sie die Anwendungsserverklasse "WSCallHelper" für den Zugriff auf vom Standard abweichende Anbietererweiterungen für Datenquellen verwenden.
Java Persistence API
WebSphere Application Server enthält zwei JPA-Provider: einen, der auf EclipseLinks für JPA 2.1 basiert, und einen, der auf der Apache OpenJPA-Implementierung von JPA 2.0 basiert. Weitere Informationen finden Sie unter den zugehörigen Links.
Um Spring Framework mit einer JPA-Implementierung zu verwenden, sollte JPA direkt und nicht über die mit Spring Framework im Paket org.springframework.orm.jpa bereitgestellten JPA-Helper-Klassen verwendet werden.
<persistence-context-ref>
<persistence-context-ref-name>Angabe/Name</persistence-context-ref-name>
<persistence-unit-name>Name_der_Persistenzeinheit</persistence-unit-name>
</persistence-context-ref>
Für diese Angaben gilt Folgendes:
Name_der_Persistenzeinheit ist der Name der Persistenzeinheit gemäß Definition in der Datei persistence.xml.<jee:jndi-lookup id="entityManager" jndi-name="Angabe/Name" />
<persistence-unit-ref>
<persistence-unit-ref-name>Angabe/Referenzname</persistence-unit-ref-name>
<persistence-unit-name>Name_der_Persistenzeinheit</persistence-unit-name>
</persistence-unit-ref>
Das entstehende Objekt EntityManagerFactory ist unter der ID "entityManagerFactory" verfügbar: <jee:jndi-lookup id="entityManagerFactory" jndi-name="Angabe/Referenzname" />