0
SETのオブジェクトのプロパティにアクセスする際にトランザクションサービスで典型的な休止状態の初期化例外が発生します。 grailsはトランザクションサービスで初期化例外が豪華になる
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
SETのオブジェクトのプロパティにアクセスする際にトランザクションサービスで典型的な休止状態の初期化例外が発生します。 grailsはトランザクションサービスで初期化例外が豪華になる
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
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
}
}
申し訳ありませんが、私はそれクロージャが、そのそれは方法とイムはまだこの問題を得ているではない、starange部分は、それは私のローカルおよびステージングサーバー上で動作しますが、上の失敗で作られましたプロダクションサーバー。 –