總之是的,但只要你不定義
import grails.transaction.Transactional
import org.springframework.transaction.interceptor.TransactionAspectSupport
class TestingService extends TestService {
//DO NOT ENABLE THIS OTHERWISE IT IS TRANSACTIONAL
//static transactional = true
def doIt() {
def aa = TransactionAspectSupport?.currentTransactionInfo()
return aa
}
@Transactional
def doIt2() {
def aa = TransactionAspectSupport?.currentTransactionInfo()
return aa
}
}
所以,如果你超控器靜態交易則變得事務。如果您堅持使用擴展抽象類中的靜態聲明,現在即使您定義了@Transactional註釋。結果將爲空。對於下面的測試。
如果交易不支持AA將返回null,如果是你會看到類似PROPAGATION_REQUIRED,ISOLATION_DEFAULT
我試着用'TransactionAspectSupport?.currentTransactionInfo()'來看看我是在一個事務中,但它只是總是返回空值。即使在'withTransaction'塊中。 – Akolopez