Je développe une application utilisant Eclipselink et dans le cadre de l'application, je dois être capable de manipuler certains des objets qui implique le changement de données sans qu'il soit persisté à la base de données (fusionner/modifier des objets pour certains processus de génération de lots). Je suis réticent à modifier les données dans les objets Entity, car il existe un risque que même si je n'ai pas marqué les méthodes comme @Transactional
, cette méthode pourrait à l'avenir être appelée par inadvertance à partir d'une méthode transactionnelle et ces changements pourrait être persisté.Forcer une méthode à être non-transactionnelle dans JPA (Eclipselink)
Donc, ma question est, y a-t-il un moyen de contourner ce problème? Tels que forcer une méthode à toujours être non-transactionnel indépendamment; terminer toute transactionalité dès que la méthode est démarrée;
Je sais qu'il existe une méthode .detach() qui peut détacher les objets de l'Entity Manager, cependant, il y a beaucoup d'objets et cela semble être une erreur de sécurité potentiellement sujette aux erreurs sur mon code.
tag soit ressort ou ejb – Bozho