Je travaille maintenant avec un projet JPA 2.0 (dans Eclipse Indigo). Dans mon fichier persistence.xml, je dois spécifier deux balises <persistence-unit>, car j'ai deux bases de données différentes avec lesquelles travailler. En faisant cela, j'obtiens l'avertissement suivant:
Plusieurs unités de persistance définies - seule la première unité de persistance sera reconnue
Encore plus, si je crée mes entités et les mets dans ma deuxième <persistence-unit>, j'obtiens une erreur disant que mon entité n'est pas déclarée dans une unité de persistance:
La classe "my.package.MyClass" est mappée, mais n'est incluse dans aucune unité de persistance
Alors, la question est: est-il possible de déclarer (et de les utiliser comme prévu) de nombreuses balises <persistence-unit> dans le fichier persistence.xml? Si oui, que dois-je faire pour obtenir le comportement exact?
Merci!
JPA ne limite pas le nombre d'unités de persistance définies dans persistence.xml. Cet avertissement parle simplement de la limitation de l'outil dans Eclipse IDE. Ceci est dit par exemple ici http://www.Eclipse.org/webtools/dali/gettingstarted.php :
Actuellement, Dali ne prend en charge qu'une unité de persistance et un fichier XML de persistance par projet. D'autres configurations peuvent exister dans un projet JPA, mais la validation et le traitement des valeurs par défaut peuvent ne pas être corrects lorsque plusieurs unités de persistance sont utilisées.
Je suppose qu'il n'y a aucun moyen connu d'obtenir ce travail dans Eclipse IDE.
Bien qu'il s'agisse de JPA valide, vous pouvez également désactiver les notifications d'erreur (ennuyeuses) qui en résultent pour chaque projet en accédant à
Project Properties => JPA => Errors/Warnings
Activer Enable project specific settings
et sous Type
, modifiez le niveau de notification pour Class is mapped but is not in a persistence unit
de Error
à tout ce avec quoi vous êtes à l'aise.
Mise à jour pour Eclipse Luna:
L'emplacement et le nom du paramètre ont changé dans Luna. Le nouvel emplacement est:
Project Properties => JPA => Errors/Warnings
Vérifier Enable project specific settings
Développer le groupe Project
Changement Multiple persistence units defined:
à Ignore
.