2011-02-23 7 views

答えて

2

xyzが、それは方法であるかのようなGroovyによって呼び出されて閉鎖されたカテゴリのタイトルプロパティにアクセスするとき、私は例外を取得していますが、それは方法はありません


class ProductService { 
    static transactional = true 
    def xyz() { 
    def products = Product.list() 
    products.each { product -> 
     def category = product.categories.asList().first() 
     def title = category.title 
    } 
    } 
} 

 

。だから、Spring(それはただのフィールドです)によってプロキシされていないので、トランザクションの振る舞いはありません。 Serviceクラスでパブリッククロージャを使用するのは、決して正当な理由ではありません(内部のユーティリティクロージャは問題ありません)。

これは動作するはずです:

が誤って
void xyz() { 
    for (product in Product.list()) { 
     def category = product.categories.asList().first() 
     def title = category.title 
    } 
} 
+0

申し訳ありませんが、私はそれクロージャが、そのそれは方法とイムはまだこの問題を得ているではない、starange部分は、それは私のローカルおよびステージングサーバー上で動作しますが、上の失敗で作られましたプロダクションサーバー。 –

関連する問題