Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有域类的Grails手动事务_Grails_Transactions_Service Layer - Fatal编程技术网

没有域类的Grails手动事务

没有域类的Grails手动事务,grails,transactions,service-layer,Grails,Transactions,Service Layer,我不确定这里是否遗漏了一些东西,但是在Grails中(在src/groovy中的groovy类中)不使用withTransaction方法就可以进行手动事务管理吗 在调用另一个Java web应用程序的服务层时,我的应用程序中没有任何域类。默认情况下,服务方法是事务性的。这是在grails中获取事务行为的最简单方法: class SomethingService { def doSomething() { // transactional stuff here }

我不确定这里是否遗漏了一些东西,但是在Grails中(在src/groovy中的groovy类中)不使用withTransaction方法就可以进行手动事务管理吗


在调用另一个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插件,因此上述情况甚至不可能发生