Yeahhh, on va rentrer dans le super début: les fichiers XML vs les annotations...
Je ne supporte plus xml.... :-)
Yeahhh, on va rentrer dans le super début: les fichiers XML vs les annotations...
Je ne supporte plus xml.... :-)
Je pense que tu voulais dire EJB3 + JTA en l'occurrence, non ?
(EJB3 au sens large, entity + session)
Parce que c'est JTA qui permet la configuration "déclarative" des transactions, pas JPA...
Personnellement, je n'ai trouvé qu'une seule limite (pour le moment) au modèle EJB3 + JTA (de base), c'est la persistance des données dans une base de données (MySQL par exemple) avec des contrôles liés à une autre base de données (AS400 par exemple).
Je pense que le contexte "Extended" permettrait de faire plus de chose (pas encore testé) mais avec l'annotation @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
on se sort déjà du problème...
L'idéal, pour moi, serait de pouvoir mapper dans les entités des objets issus de contextes différents, soit ça existe déjà et je suis passé à côté, soit ça viendra plus tard... qui sait...
Maintenant, pour le débat initial, je découpe pour ma part en 3 gros morceaux :
- Entity
- CRUD
- Service fonctionnel
Avec un service fonctionnel qui peut utiliser un autre service fonctionnel et/ou un CRUD (qui est un service particulier et pourrait être générique), concept de "granularité" si je ne m'abuse
Bref, le premier service fonctionnel appelé est la "façade" du client...
(c'est un avis de plus...)
A+
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Vieux thread, mais pour ceux qui se posent la question de la lourdeur d'écrire des DAO et qui cherchent un DAO "générique", je vous conseille d'aller voir le projet de .... Spring (encore et encore) => Spring-Data-JPA (http://www.springsource.org/spring-data/jpa
En gros on écrit 'presque' plus rien:
- les opérations CRUD existent de base
- les paging + sort existent aussi
- possibilité d'ajouter des méthodes de recherche sans écrire de code (sauf la déclaration de la méthode dans une interface)
- possibilité de décrire l'implémentation juste à travers un query
- possibilité d'avoir aussi une vraie implémentation avec du code (pour par exemple utiliser les @FetchProfile d'Hibernate)
Bref je vous conseille vraiment d'aller y jeter un coup d'oeil !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager