如何将Hibernate会话绑定到Grails中的线程?

Fle*_*tch 16 grails grails-orm hibernate-session

我正在Grails编写一个多线程应用程序,其他线程需要访问GORM/Hibernate.当他们尝试访问GORM时,我收到错误"org.hibernate.HibernateException:没有Hibernate会话绑定到线程,配置不允许在这里创建非事务性的".

确定公平,有人可以指导我设置线程的最佳方式来访问吗?错误消息几乎听起来像你只需要更改一些配置选项但我感觉,它不是那么简单......

Jar*_*red 14

您需要在withTransaction闭包中放置任何GORM调用.从https://fbflex.wordpress.com/2010/06/11/writing-batch-import-scripts-with-grails-gsql-and-gpars/讨论多线程的例子

单线程

user = User.findByUsername( photo.username )
Run Code Online (Sandbox Code Playgroud)

多线程

User.withTransaction{
user = User.findByUsername( photo.username )
}
Run Code Online (Sandbox Code Playgroud)