...
Code Block |
---|
language | java |
---|
title | Wykonanie kilku operacj w jednej transakcji |
---|
|
@Service
public class CustomeServiceImplCustomServiceImpl
implements CustomService
{
@Autowired
private StructureService psstructureService;
@Transactional
public void addPositionAndOu()
{
Position p = new Position( "name", "symbol" );
OrganizationalUnit ou = new OrganizationalUnit();
ou.setName( "name" );
ou.setSymbol( "symbol" );
psstructureService.createPosition( p );
psstructureService.createOrganizationalUnit( ou );
}
public void addPositionAndOuNonTransactional()
{
Position p = new Position( "name", "symbol" );
OrganizationalUnit ou = new OrganizationalUnit();
ou.setName( "name" );
ou.setSymbol( "symbol" );
psstructureService.createPosition( p );
psstructureService.createOrganizationalUnit( ou );
}
}
|
W powyższym przykładzie funkcja bez adnotacji @Transactional utworzy osobne transakcje dla każdej funkcji save, natomiast w funkcji oznaczonej @Transactional obie operacje będą działać na jednej tej samej transakcji.
Code Block |
---|
language | java |
---|
title | Pobranie własnego serwisu w zadaniu automatycznym |
---|
|
public static void execute()
{
ClientService cs = SpringContext.getBean( ClientService.class );
cs.addPositionAndOu();
}
|
Przydatne zasoby:
...