没有域类的Grails手动事务
我不确定这里是否遗漏了一些东西,但是在Grails中(在src/groovy中的groovy类中)不使用withTransaction方法就可以进行手动事务管理吗没有域类的Grails手动事务,grails,transactions,service-layer,Grails,Transactions,Service Layer,我不确定这里是否遗漏了一些东西,但是在Grails中(在src/groovy中的groovy类中)不使用withTransaction方法就可以进行手动事务管理吗 在调用另一个Java web应用程序的服务层时,我的应用程序中没有任何域类。默认情况下,服务方法是事务性的。这是在grails中获取事务行为的最简单方法: class SomethingService { def doSomething() { // transactional stuff here }
在调用另一个Java web应用程序的服务层时,我的应用程序中没有任何域类。默认情况下,服务方法是事务性的。这是在grails中获取事务行为的最简单方法:
class SomethingService {
def doSomething() {
// transactional stuff here
}
}
如果需要更细粒度的控制,可以通过hibernate以编程方式启动和结束事务:
class CustomTransactions {
def sessionFactory
def doSomething() {
def tx
try {
tx = sessionFactory.currentSession.beginTransaction()
// transactional stuff here
} finally {
tx.commit()
}
}
}
默认情况下,服务方法是事务性的。这是在grails中获取事务行为的最简单方法:
class SomethingService {
def doSomething() {
// transactional stuff here
}
}
如果需要更细粒度的控制,可以通过hibernate以编程方式启动和结束事务:
class CustomTransactions {
def sessionFactory
def doSomething() {
def tx
try {
tx = sessionFactory.currentSession.beginTransaction()
// transactional stuff here
} finally {
tx.commit()
}
}
}
在Grails应用程序中启动事务的唯一方法是中提到的方法 在我调用另一个Java web应用程序的服务层时,我的应用程序中没有任何域类
这真的是一个单独的应用程序还是Grails应用程序所依赖的Java JAR?如果是前者,则事务应由执行持久化的应用程序管理。在Grails应用程序中启动事务的唯一方法是中提到的那些方法 在我调用另一个Java web应用程序的服务层时,我的应用程序中没有任何域类
这真的是一个单独的应用程序还是Grails应用程序所依赖的Java JAR?如果是前者,则事务应由执行持久化的应用程序管理。上述方法也正确 您还可以使用
@Transactional(propagation=propagation.REQUIRES\u NEW)
}上述方法也是正确的 您还可以使用
@Transactional(propagation=propagation.REQUIRES\u NEW)
}您还可以在服务方法上使用Spring
@Transactional
注释如果应用程序没有域类,则没有理由安装hibernate插件,因此,上述情况甚至不可能。您也可以在服务方法上使用Spring@Transactional
注释。如果应用程序没有域类,则没有理由安装hibernate插件,因此上述情况甚至不可能发生