...
Code Block |
---|
language | java |
---|
title | Zarządzanie transakcjami poprzez TransactionTemplate |
---|
|
TransactionTemplate tt = new TransactionTemplate( TransactionManagerFactory.getHibernateTransactionManager() );
tt.execute( new TransactionCallbackWithoutResult()
{
@Override
protected void doInTransactionWithoutResult( TransactionStatus status )
{
QueryExecutor qe = ComponentFactory.getQueryExecutor();
SQLQuery sql = qe.createSQLQuery( ... );
...
sql.executeUpdate();
}
} ); |
Jeżeli potrzebujemy mieć dostęp do obiektu Session od Hibernate, należy TransactionTemplate wykorzysać następująco:
Code Block |
---|
language | java |
---|
title | Zarządzanie transakcjami z dostępem do Session |
---|
|
TransactionTemplate tt = new TransactionTemplate( TransactionManagerFactory.getHibernateTransactionManager() );
tt.execute( new SessionAwareTransactionCallbackWithoutResult()
{
@Override
public void doWithSession( Session session )
{
session.delete( ... );
}
} ); |
Code Block |
---|
language | java |
---|
title | Zarządzanie transakcjami poprzez TransactionTemplate |
---|
|
final SharkTransactionManager mgr= TransactionManagerFactory.getSharkTransactionManager();
TransactionTemplate tt = new TransactionTemplate( mgr );
tt.execute( new TransactionCallbackWithoutResult()
{
@Override
protected void doInTransactionWithoutResult( TransactionStatus status )
{
SharkTransaction sharkTransaction = mgr.getSharkTransaction();
...
}
} ); |
...