Grails域类在没有Groovy.Sql的情况下无法保存

Grails域类在没有Groovy.Sql的情况下无法保存,grails,gorm,Grails,Gorm,我正在使用Hibernate3和Grails2.2.5 我的一个视图中有一个AJAX调用,它应该查找一些数据并提供一个文本结果。在用于生成文本结果的方法中,我有一个对服务的方法调用,以将文本结果保存到它自己的域中 问题是.save(flush:true)不会持久保存到数据库。但是,如果我添加一个Groovy SQL实例并对任何插入执行.executeInsert(),Groovy SQL中的insert将被插入,并且.save(flush:true)方法将按预期工作。。。我尝试了各种不同的方法,

我正在使用Hibernate3和Grails2.2.5

我的一个视图中有一个AJAX调用,它应该查找一些数据并提供一个文本结果。在用于生成文本结果的方法中,我有一个对服务的方法调用,以将文本结果保存到它自己的域中

问题是
.save(flush:true)
不会持久保存到数据库。但是,如果我添加一个Groovy SQL实例并对任何插入执行
.executeInsert()
,Groovy SQL中的insert将被插入,并且
.save(flush:true)
方法将按预期工作。。。我尝试了各种不同的方法,但是只要我注释掉
.executeInsert(“…”)
,域类就不会被持久化

我检查了常见问题:validation checks out(返回true),我将
deepValidate
设置为false,并使用flush以防Hibernate试图将插入语句保存到以后。我还在
DataSource.groovy
中打开了
logSql=true
,当我注释
.executeInsert(“…”)
时,SQL insert语句确实会被记录下来,但永远不会持久化到表中

-编辑/更新-

Hibernate日志的insert语句如下:

insert into TextDomain (version, text, ... , id) values (?,?,?,?,?)
问号应该在那里吗?对Hibernate没有太多的经验,所以我不确定它是在执行实际的SQL语句,还是在填充值

另外,我试图在中调用的
.save()
方法位于
src/groovy

编辑/更新->测试:


我将测试设置为控制器中的单个操作。我只是调用了一个服务方法,用一些测试值填充
textDomain
,然后执行
.save()
。调用控制器操作(即转到url
my app:8080/test/text
)时,
textDomain
被正确保存。但是,我尝试添加具有来自另一个服务的实际textDomain实例化和测试值的服务,但该服务不会持久化…

是的,问号只是实际值的占位符。尝试使用newsession将持久性逻辑包装到
闭包中。文档在这里:尝试过了,仍然没有保存到数据库