Suite d'une discussion sur un coin de table sous l'intiative de Brendan... puis sur reuniondev Context ------- L'utilisation de ToPIA (et donc d'hibernate) pose un problème sur l'acquisition des données). En effet, on se retrouve souvent à devoir charger à la main des propriétés ou association car on sait que l'on en a besoin dans l'ui et que les données sont en lazy. Comment faire ------------- L'idée serait d'ouvrir une transaction au début d'une action et d'utiliser un intercepteur après le rendu de l'action. Soit un contrat d'action TopiaTransactionAware + getTransaction() : TopiaContext On pose le contrat sur les actions qui utilise une transaction pour acquérir les données en base (ET on ne ferme surtout pas la transaction MAIS on la rend accessible via la méthode getTransaction()). L'intercepteur récupère la transaction sur l'action (si action bien du bon type). Si la transaction n'est pas nulle ni fermée, il la ferme. Où le faire ----------- Pour le moment c'est codé dans T3, mais il serait bien d'avoir ça disponible pour tout le monde. org.nuiton.nuiton-web:nuiton-struts2 serait le meilleur endroit. dans un package org.nuiton.web.struts2.topia . On mettrait donc une dépendance sur ToPIA mais en provided car si on utilise struts2 et Topia et bien il paraît un peu évident que ces deux dépendances soient là où il faut. En PJ le contrat a poser sur les actions + l'intercepteur qui close les transactions. A vos retours (et améliorations). Si pas d'objection, je le pousse dans nuiton-web. -- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com