Comment obtenir de la source de données ou une Connexion de JPA2 EntityManager dans Java EE 6

J'ai une application de travail où j'utilise Java EE 6 avec EclipseLink de persistance et d'une base de données PostgreSQL.

Pour l'Utilisateur-Enregistrement je veux le mot de passe dans PostgreSQL:

... password = crypt('inputPassword',gen_salt('bf')) ...

Que je ne peux utiliser DigestUtils pour cela, je dois insérer l'utilisateur manuellement dans la base.
Pour garder mon application configurable je ne veux pas de requête de la source de données avec un
InitialContextInstance.lookup(dataSource) mais pour l'extraire (ou le lien) en quelque sorte de l'EntityManager
comme:

DataSource ds = entityManagerInstance.someFunctionThatReturnsADataSourceOrConnection();

Ou serait-il possible d'utiliser createNativeQuery ou quelque chose de semblable dans conjuntion
avec une déclaration préparée pour se protéger contre les injections?

Si vous utilisez une source de données pour votre configuration JPA, vous devriez être en mesure d'obtenir l'accès à l'aide d'un @Resource(name="myDb") DataSource myDB. N'est-ce pas? Et je pense que vous pouvez définir parametirized requêtes avec JPA.
oui, ça pourrait marcher, mais j'ai toujours de connaître le nom. Je veux obtenir la configuration par défaut de la source de données pour l'injection d'une EntityManager.

OriginalL'auteur zuloo | 2013-06-07