Migration von JPA-Anwendungen und Bean Validation
Java™ Persistence API (JPA) 2.0 unterstützt die Bean Validation API, damit die Datenvalidierung zur Laufzeit durchgeführt werden kann. In diesem Artikel werden bewährte Verfahren für die Implementierung von Feature Pack for OSGi Version 7 und Anwendungen der JPA Version 2.0 in Version 8.x beschrieben.
Die API Bean Validation wird mit Feature Pack for OSGi Version 7 und JPA 2.0 nicht bereitgestellt. Deshalb ist es erforderlich, die API Bean Validation und die Implementierung in einer gemeinsam genutzten Bibliothek oder in einem Paket mit der Anwendung bereitzustellen und zu konfigurieren.

- In Version 7.0 wird die Systemeigenschaft "com.ibm.websphere.validation.api.jar.path" verwendet, um die Laufzeitumgebung des Feature-Packs anzuweisen, die JAR-Datei für die Bean-Validation-API zu suchen. In Version 8.x ist die JAR-Datei für die Bean-Validation-API in die Produktinstallation integriert, und deshalb wird diese Systemeigenschaft ignoriert. Der Bean-Validation-Provider kann in den Versionen 7 und 8.x trotzdem überschrieben werden, wenn er in eine Anwendung oder in gemeinsam genutzte Bibliotheken gepackt ist. Dieses Einsatzszenario wird im dritten Listenpunkt beschrieben.
- Die Bean-Validation-Implementierung in WebSphere Application Server wird automatisch als aktiver Standardprovider für Bean Validation verwendet.
- Wenn die JPA-Anwendung Standard-Bean-Validation-Features verwendet, können die Systemeigenschaft "com.ibm.websphere.validation.api.jar.path" und der benutzerdefinierte Bean-Validation-Provider aus der Anwendungsimplementierung entfernt werden.
- Wenn nicht spezifikationskonforme oder providerspezifische Features von einer Anwendung verwendet werden, muss der Bean-Validation-Provider, der die erforderlichen Features unterstützt, als typischer Service-Provider in der Benutzeranwendung, der gemeinsam genutzten Bibliothek der Anwendung und der gemeinsam genutzten Bibliothek, die dem Server zugeordnet ist, gepackt, konfiguriert und implementiert werden. Weitere Informationen hierzu finden Sie im Artikel über die Verwendung gemeinsam genutzter Bibliotheken in Anwendungen.