Dans mon projet actuel, j'utilise une bibliothèque 3ème partie qui n'a pas d'annotations JPA. P>
Comment puis-je persister les objets de cette bibliothèque à l'aide de JPA et de mappages externes? P>
3 Réponses :
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. P>
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.
Vérifiez Ceci et Ce . En bref:
meta-inf / orm.xml code> li>
- 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>
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
@Pascal thivent Oui, merci. J'utilise actuellement avec
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. P>
En ce qui concerne l'automatisation, je ne pense pas que vous puissiez automatiser la génération de orm.xml code> à 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 . p>