如果您希望您的服务作为事务性设置为 true 事务性属性(这不是强制性的,但如果您想明确该服务是事务性的):
class MyService {
static transactional = true
def method1() { }
def method2() { }
}
如果您不想:
class MyService {
static transactional = false
@Transactional(...config...)
def method1() { }
def method2() { }
}
另一个例子(设置事务属性不是强制性的,但有助于清楚 - 如果你不是唯一编码这个):
import org.springframework.transaction.annotation.Transactional
class BookService {
@Transactional(readOnly = true)
def listBooks() {
Book.list()
}
@Transactional
def updateBook() {
// …
}
def deleteBook() {
// …
}
}
您可以做的另一件事是注释整个类并覆盖您需要不同的方法:
import org.springframework.transaction.annotation.Transactional
@Transactional
class BookService {
@Transactional(readOnly = true)
def listBooks() {
Book.list()
}
def updateBook() {
// …
}
def deleteBook() {
// …
}
}
希望这可以帮助 ;)