J'ai le scénario suivant,Comment valider une transaction dans EJB?
public void someEjbMethod1()
{
for (int i=0; i=10; i++)
{
em.merge(arr[i]);
em.flush();
}
}
je dois fusionner chaque objet (arr[i]
) séparément. comme le code ci-dessus va commettre toutes les instances arr[i]
à la fin de la fonction.
Je pense à faire ce qui suit:
public void someEjbMethod1()
{
for (int i=0; i=10; i++)
{
saveObj(arr[i]);
}
}
// should I use a transaction attribute here??
public void saveObj(SomeObject obj)
{
em.merge(arr[i]);
em.flush();
}
J'ai fait exactement ce que vous avez dit sur OC4J mais ne fonctionne toujours pas –
Que voulez-vous dire par "ne fonctionne toujours pas"? La création de transaction échoue-t-elle à chaque invocation ou autre chose? En outre, envisagez d'activer le débogage plus fin du coordinateur JTA; vous serez en mesure de déterminer si une nouvelle transaction est en cours ou non. –
Je veux dire, la base de données n'est pas mise à jour à chaque sortie de 'saveObj' Cependant, dans le journal du serveur d'applications, la requête SQL de mise à jour a été imprimée –