According to the grails docs, services are transactional by default. But, I know you can get more fine grained control of transactions by using the Transactional attribute.
If I have a service such as
class MyService {
@Transactional(...config...)
def method1() { }
def method2() { }
}
My understanding is that in this case, method1 will be transactional, but method2 will not.
If I have
class MyService {
def method1() { }
def method2() { }
}
Then both method1 and method2 will both be transactional.
Is this correct?
If you want your service as transactional set to true the transactional property (this isn’t obligatory but if you want to make clear that the service is transactional):
If you don’t want to:
Another example (setting transactional property isn’t obligatory, but helps to be clear – if you are not the only coding this):
Another thing you can do is annotate the whole class and override the methods you need to be different:
Hope this helps 😉