6
votes

Accès JPA Programmatiquement

est-il possible d'accéder aux informations dans code> via Java API?

<persistence-unit-metadata>
    <persistence-unit-defaults>
        <schema>MySchema</schema>
    </persistence-unit-defaults>
</persistence-unit-metadata>


2 commentaires

Qu'est-ce que tu veux vraiment atteindre? Qu'entendez-vous par «accéder à l'information»? Vous souhaitez lire les éléments de votre fichier orm.xml via API du fournisseur JPA ou peut-être que vous souhaitez lire le schéma de base de données, les tables, les procédures stockées, ...?


Je souhaite accéder au schéma par défaut configuré dans les défauts de l'unité de persistance. Quelque chose comme jpaconfig.getschema (). J'aimerais utiliser JPA API ou ECLIPSELINK. Mais n'accédez pas directement au XML, par exemple via XPath, si possible du tout.


4 Réponses :


7
votes

Après le débogage pendant un moment, j'ai trouvé une solution pour accéder au schéma d'une entité. XXX

À la recherche d'un moyen plus facile et meilleur d'accéder à l'information! Merci beaucoup.


2 commentaires

Vous pouvez également utiliser, em.unwrap (session.class) .GetDescriptor (myentity.class) .GetDe défaillance (). GetTabl Equifier ();


Ou pour obtenir le qualificatif par défaut sur la session, em.unwrap (session.class) .getlogin (). GetTabl Equifier ();



0
votes

Je sais que c'est une ancienne question, mais voici un moyen plus simple d'obtenir le nom de la table:

myentity.class.getannotation (javax.persistence.entity.class) .name ();


0 commentaires

1
votes

Les réponses précédentes ne fonctionnaient pas pour moi. C'est ce que j'ai trouvé pour travailler: xxx

https: // wiki.eclipse.org/eclipselink/faq/jpa


0 commentaires

0
votes

Je sais est un ancien poste, mais a travaillé pour moi avec ce xxx

à partir de là, vous pouvez obtenir: xxx


1 commentaires

J'ai oublié d'ajouter, JPA 2, hibernate 5