Нужно ли вообще закрывать менеджер постоянства? Можете ли вы просто оставить один открытым и использовать его постоянно, то есть просто повторять этот шаблон:
Transaction tx = pm.currentTransaction();
try {
tx.begin();
// do stuff
tx.commit();
} finally {
if (tx.isActive()) tx.rollback();
}
Каковы недостатки этого? Кажется, это имеет смысл, поскольку вам никогда не понадобится «отсоединять» объекты из-за закрытия диспетчера постоянства?