Grails 3.0.1和Hibernate Session错误

时间:2015-05-25 17:08:38

标签: grails gorm

我正在关注基于Grails 2的书籍示例(Grails in Action第2版)。*但我使用的是新的Grails 3.0.1。

当我创建一个类似于:

的域类时
package qotd

class Quote {
   String content
   String author
   Date created = new Date()
}

每当我尝试通过groovy控制台与DB交互时,我都会抛出异常。

org.springframework.dao.DataAccessResourceFailureException: Could not obtain current Hibernate Session;
Caused by: org.hibernate.HibernateException: No Session found for current thread

我试图将@Transactional添加到域类中,并且还切换到较低的JDK版本(7),但它们都不起作用。 我也用Grails 3.0测试过,结果是一样的。 如果我降级到Grails 2.5.0它的工作原理是Grails 3. *问题。 Gradle可能是个问题。

1 个答案:

答案 0 :(得分:7)

我将所有内容都包含在Grails 3的交易中

qotd.Quote.withTransaction {
  new qotd.Quote(author: 'Larry Wall',
    content: 'There is more than one method to our madness.').save()
}