我正在关注基于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可能是个问题。
答案 0 :(得分:7)
我将所有内容都包含在Grails 3的交易中
qotd.Quote.withTransaction {
new qotd.Quote(author: 'Larry Wall',
content: 'There is more than one method to our madness.').save()
}