2010-06-25 3 views
3

J'ai quelques écouteurs Hibernate Envers que j'utilise à des fins d'audit. Je ne fais que commencer sur CDI et jusqu'à présent je suis agréablement surpris par sa simplicité et sa puissance. Puisqu'il semble que tout intègre la fonctionnalité CDI, j'ai pensé que je soulèverais la question, est-ce que Hibernate la soutient ou le fera-t-elle?Hibernate - CDI

Non seulement ce serait bien d'avoir accès à divers composants, mais ce serait aussi génial d'avoir facilement accès à d'autres informations contextuelles et de ne pas être limité par les interfaces d'Hibernate.

Répondre

1

La question devrait être le contraire: le CDI prendra-t-il en charge l'intégration d'hibernation.

Qu'est-ce que le CDI doit soutenir, probablement par une extension, est la suivante:

  • injectent un EntityManager où il y a @PersistenceContext, et EntityManagerFactory où il y a @PersistenceUnit
  • transaction
  • et gestion du cycle de vie de la session

Google pour "Weld Persistence Context" et vous obtiendrez quelques exemples d'utilisation d'Hibernate (JPA) avec Weld, qui est l'implémentation de référence de CDI. Lisez aussi this thread. Et this example

+0

Je suppose que c'est peut-être la façon dont cela devrait fonctionner. Je veux un accès facile aux informations contextuelles fournies par CDI. Je veux injecter des composants dans mes auditeurs pour évaluer la sécurité ou faire d'autres choses sophistiquées avec très peu d'effort. –

+0

Pour votre part, je travaille sur une extension CDI qui vous permet d'écrire des requêtes avec une interface. De même que pour @NamedQuery, vous écrirez votre requête actuelle sur la méthode. La méthode vous permettra de spécifier les paramètres de votre requête ainsi que le type de retour qui vous donne le type de sécurité, contrairement à une requête d'entité. Je voudrais également voir ceci accroché dans @Producer/@ WebRemote de sorte que vous puissiez facilement avoir un service Web avec 3 lignes de code. –

+0

Je n'ai pas encore exécuté @PersistenceContext dans des applications autonomes. –