Muss ein Persistenz-Manager generell geschlossen werden? Können Sie sich ein offen halten und wieder verwenden es die ganze Zeit, das heißt nur dieses Muster wiederholen:Einen JDO-Persistenzmanager am Leben halten, anstatt ihn zu schließen?
Transaction tx = pm.currentTransaction();
try {
tx.begin();
// do stuff
tx.commit();
} finally {
if (tx.isActive()) tx.rollback();
}
Was die Nachteile hierfür sind? Es scheint sinnvoll zu sein, da Sie niemals Objekte "lösen" müssen, weil der Persistenzmanager geschlossen ist.
Gibt es eine Möglichkeit, die PM zu zwingen, die Daten persistent zu machen, außer es zu schließen oder eine Transaktion zu begehen? –
Ja, du kannst auch einen Flush machen() Ich denke, aber warum nicht einfach Transaktionen verwenden? – Jacob