Comment lier une entité spécifique de la persistence-unit
Dans une application web à l'aide de struts2 ejb, hibernate, est-il possible de dire à l'application de trouver ou de créer une entité pour une persistence-unit name, ce qui est écrit dans persistence.xml
fichier, dans le délai de déploiement?
J'ai deux persistence-unit dans persistence.xml
, et une source de données
(y compris les deux "local-tx-datasource") fichier xml sous jboss nœud.
À clearify, je veux dire, j'ai essayé ce;
@Entity
@PersistenceContext(unitName="MY JNDI NAME specified in persistence.xml")
public abstract class Vehicle {
et ne marche pas.. Alors essayé et etc..
@PersistenceContext(name="MY PERSISTENCE UNIT NAME specified in persistence.xml")
@PersistenceUnit(name="MY PERSISTENCE UNIT NAME specified in persistence.xml")
et aussi j'ai essayé ces ci-dessus avec le "UnitName=.." au lieu de "nom=.." mais tout est travaillé pour moi...
[RÉSOLU]
<.exclude-unlisted-classes>true<./exclude-unlisted-classes>
a résolu mon problème
<exclude-unlisted-classes>true</exclude-unlisted-classes>
à l'inscription de toutes les classes d'entité (<class>com.mycompany.Foo</class>
etc.)? De préférence modifier cette info dans la [RÉSOLU] partie de votre question.OriginalL'auteur Javatar | 2010-08-05
Vous devez vous connecter pour publier un commentaire.
Mise à jour: Basé sur votre commentaire (ce n'est pas ce que j'ai compris de la question d'origine), je ne pense pas que vous avez une autre option de désactivation de la "découverte" et l'inscription explicite de vos entités dans leur unité de persistance:
Je ne suis pas au courant de toute syntaxe au niveau de l'entité permettant de l'attribuer à une unité de persistance.
je ne suis pas sûr que j'ai compris ce que vous essayez de faire, mais si vous voulez obtenir un Gestionnaire d'entités spécifiques de l'unité de persistance de l'injection, il convient de faire:Si ce n'est pas ce que vous voulez, merci de préciser la question.BTW, il vaut la peine de le dire encore une fois que j'ai deux persistence-unit dans persistence.xml. Je veux dire, j'ai deux DB paramètres de connexion dans mon application et je veux utiliser l'un ou l'autre dépendent sur les entités que je veux. Je veux être en mesure de dire, "hé, vous devriez voir cette entité comme une table uniquement dans la DB (car il est déjà là) dont vous pouvez trouver les paramètres de la DB dans cette persistence-unit name! Ainsi, l'utilisation de cette persistence-unit pour cette entité"
<exclude-unlisted-classes>true</exclude-unlisted-classes> est résolu mon problème, merci beaucoup Pascal
OriginalL'auteur Pascal Thivent
Ce que vous cherchez est probablement
<exclude-unlisted-classes>true</exclude-unlisted-classes>
.Consultez la documentation sur jboss.org:
Dans ma configuration, j'ai eu deux bases de données (disons A et B) et je voulais deux unités de persistance, où l'on contient toutes les entités, mais une, tandis que l'autre unité de persistance contient le reste de l'entité. Mon persistence.xml ressemble à ceci:
OriginalL'auteur Sylwester Gebczyk
@Pascal Thivent
Je n'ai pas essayé à l'aide de plusieurs EntityManager à la fois, mais en regardant problème mentionné ci-dessus, cela peut aider si cela fonctionne.
@PersistenceContext(unitName="MyPu1")
EntityManager em1;
@PersistenceContext(unitName="MyPu2")
EntityManager em2;
Grâce Nayan. Cependant, le problème n'est pas à propos de l'entitymanager injection en effet. J'ai ajouté un commentaire à la première réponse ci-dessus. Si vous avez une idée sur le problème que j'ai mentionné, je serait bien de l'entendre.
OP précisé dans le commentaire qui a été différente de la question d'origine; ce qui s'est passé à downvote inutilement.
OriginalL'auteur Nayan Wadekar