8
votes

Persistant les objets tiers de 3ème partie avec jpa

Dans mon projet actuel, j'utilise une bibliothèque 3ème partie qui n'a pas d'annotations JPA.

Comment puis-je persister les objets de cette bibliothèque à l'aide de JPA et de mappages externes?


0 commentaires

3 Réponses :


1
votes

Reportez-vous aux documents de votre mise en œuvre de la JPA; Toute mise en œuvre grave JPA devrait fournir des exemples d'utilisation de XML ainsi que d'annotations. Voir http://www.datanuctus.org/products/accessplatform_2_0/jpa/metadata_xml. HTML Pour les documents Datanucleveus pour la structure XML, puis reportez-vous aux types de relations particulières pour des exemples de fonctionnalités différentes.


2 commentaires

Merci. J'utilise actuellement Hibernate et je vais regarder leur doc. Juste pensé, que depuis que JPA est un mécanisme de persistance standard, il devrait y avoir un didacticiel d'agnostique fournisseur flottant autour d'un endroit.


Les DN Docs sont en général fournisseur-agnostique et ajoutent toujours une "extension de Datanucleus" où quelque chose est une extension.



1
votes

Vérifiez Ceci et Ce . En bref:

  1. créer meta-inf / orm.xml code> li>
  2. suivez (lu) le .xsd code> li> OL>

    Vous n'avez pas à mapper manuellement chaque colonne - seulement des spécificités (c'est-à-dire des collections et l'ID) sont nécessaires. Tous les champs sont supposés être des colonnes (si la classe est mappée). S'il n'y a pas de collections, quelque chose comme ça suffit: p> xxx pré>

    Notez que lorsque vous spécifiez code> Vous n'avez pas besoin de noms entièrement qualifiés. P>

    Si vous souhaitez qu'un fichier nommé différemment de orm.xml code>, dans votre persistence.xml code> spécifie-le via: p>

    <mapping-file>customMappingFile.xml</mapping-file>
    


3 commentaires

Merci pour vos conseils. Savez-vous, s'il existe une sorte de générateur pour ces mappages, cela peut analyser les fichiers de classe et cracher les mappages. Le faire manuellement est possible, mais pour un domaine assez grand, cela ressemble à un travail manuel inutile. Appelez-moi paresseux, mais j'aime automatiser tout ce que je peux ;-)


Hmm ... Comment est le PK "découvert"? Je pense que vous devez définir le quelque part.


@Pascal thivent Oui, merci. J'utilise actuellement avec , alors je l'ai manqué. Mis à jour.



1
votes

Comme indiqué, vous pouvez utiliser jpa Cartographie Fichier au lieu d'annotations à la carte, bien, des entités non annotées (classes par exemple d'une bibliothèque tierce). Suivez n'importe quel tutoriel JPA basé sur des fichiers de mappage pour commencer.

En ce qui concerne l'automatisation, je ne pense pas que vous puissiez automatiser la génération de orm.xml à partir du modèle d'objet (par opposition à un modèle physique, un modèle d'objet ne contient pas assez d'informations, car Exemple quel champ est le pk ou, pour une association bidirectionnelle, quel côté est le propriétaire, etc., etc., le besoin de métadonnées). Mais la plupart des IDes fournissent un soutien à cela, par ex. Eclipse .


0 commentaires