次の grails スクリプト:
// Import.groovy
includeTargets << grailsScript("Bootstrap")
target(main: "Import some data...") {
depends(bootstrap)
def Channel = grailsApp.classLoader.loadClass("content.Channel")
def c
// works: saving a valid Channel succeeds
c = Channel.newInstance(title:"A Channel", slug:"a-channel", position:0).validate()
// doesn't work: saving an invalid Channel fails with exception
c = Channel.newInstance().validate()
// this line is never reached due to exception
println(c.errors)
}
setDefaultTarget(main)
次の例外で失敗します。
スクリプトのインポートの実行中にエラーが発生しました: org.hibernate.HibernateException: スレッドにバインドされた Hibernate セッションがありません。構成では、ここで非トランザクションのセッションを作成することはできません
無効なドメイン オブジェクトに対して validate() が呼び出された場合。検証が失敗したときにエラー メッセージを出力したいのですが、そのためには休止状態のセッションを確立する必要があるようです。これを乗り越える方法を知っている人はいますか?