Grails の withSession と現在の休止状態セッションの間で混乱しています。
私の質問は次のとおりです。クロージャでアクセスできるセッション オブジェクトは、現在の休止状態のセッション オブジェクトと同じですか?
以下のようなアクションを持つServiceを書きました。
def strangeBehavior(){
Link.withSession { session->
println "link current session " + session.hashCode()
}
Task.withSession { session->
println "task current session " + session.hashCode()
}
Project.withSession { session->
println "project current session " + session.hashCode()
}
UserStory.withSession { session->
println "user story current session " + session.hashCode()
}
def ctx = AH.application.mainContext
def sessionFactory = ctx.sessionFactory
def tmp = sessionFactory.currentSession
println " current session " + tmp.hashCode()
}
}
私にとって奇妙なのは、5 つの異なるハッシュ コードがあることです... 5 つのセッション オブジェクトを出力すると、同じ toString() の結果が表示されます。それは、それらが同じ内容を持っていると私に推測させます:
SessionImpl(PersistenceContext[entityKeys=[EntityKey[com.astek.agileFactory.Link#170]、EntityKey[com.astek.agileFactory.Project#9]]、collectionKeys=[Coll……]」