我正在使用一个新的小原型项目,并尝试使用脚手架功能加载数据。我经历了保存过程,它说它已经保存在用户界面上但之后我再次访问并且对象列表仍然是0.我添加了
loggingSql: true
进入我的.yml,但我看不到sql语句。
class RiUser {
String firstName
String lastName
static hasMany = [riCases: RiCase]
static constraints = {
}
}
class RiUserController {
static scaffold = RiUser
def index() { }
}
非常感谢任何帮助!
答案 0 :(得分:0)
尝试将@Transactional注释添加到控制器。
import grails.transaction.Transactional
@Transactional
class RiUserController {
static scaffold = RiUser
def index() { }
}
注意:如果您刚开始使用Grails,这是一种“正常”方法,但在实际应用程序中,您需要避免使用脚手架并自行实施控制器方法。您可以使用grails generate-controller <entity>
在默认的scaffolded实现上获得快速启动。
您的控制器方法应委托给您的服务层,该服务层将处理任何与持久性相关的活动。默认情况下,服务层方法将包装在事务中,因此您不必担心注释这些方法,除非您想要控制传播级别和/或方法是否为只读,您可以在文档。
http://docs.grails.org/latest/guide/services.html#declarativeTransactions