你能告诉我如何保存我的域名 class
Would you show me how to save my domain class
我还在学习Grails。我正在一点一点地建立我的启动项目。新手问题多,还请见谅
命令 generate-all 创建我的图书服务 class。 Grails 生成 BookService。看起来像这样。
import grails.gorm.services.Service
@Service(Book)
interface BookService {
Book get(Serializable id)
List<Book> list(Map args)
Long count()
void delete(Serializable id)
Book save(Book book)
}
Grails 生成带有保存操作的 BookController,调用该服务来保存我的书。
bookService.save(book)
到目前为止一切顺利。我可以毫无问题地保存。但是,我在保存操作中将 bookService.save(book) 简单地替换为 book.save() 。现在,它不会将我的书保存到数据库中。我也尝试 book.save(flush: true)。它也不会保存这本书。
您知道为什么 book.save()(有或没有 flush: true)不会保存但 bookService.save(book) 会保存吗?
我不知道 interface BookService 在 Grails 中是什么意思。
你能告诉我在哪里可以向 BookService 添加更多方法吗?
非常感谢。
不允许保存外部事务。控制器不是事务性的。如果你想保存在控制器中,然后在事务中移动保存逻辑,比如 -
Book.withTransaction { status ->
...
}
https://github.com/hibernate/hibernate-orm/blob/5.2/migration-guide.adoc#misc
最佳做法是对所有与数据库相关的活动使用 Service
层。
关于 interface Service
,请查看 http://gorm.grails.org/latest/hibernate/manual/index.html#dataServices
我还在学习Grails。我正在一点一点地建立我的启动项目。新手问题多,还请见谅
命令 generate-all 创建我的图书服务 class。 Grails 生成 BookService。看起来像这样。
import grails.gorm.services.Service
@Service(Book)
interface BookService {
Book get(Serializable id)
List<Book> list(Map args)
Long count()
void delete(Serializable id)
Book save(Book book)
}
Grails 生成带有保存操作的 BookController,调用该服务来保存我的书。
bookService.save(book)
到目前为止一切顺利。我可以毫无问题地保存。但是,我在保存操作中将 bookService.save(book) 简单地替换为 book.save() 。现在,它不会将我的书保存到数据库中。我也尝试 book.save(flush: true)。它也不会保存这本书。
您知道为什么 book.save()(有或没有 flush: true)不会保存但 bookService.save(book) 会保存吗?
我不知道 interface BookService 在 Grails 中是什么意思。 你能告诉我在哪里可以向 BookService 添加更多方法吗?
非常感谢。
不允许保存外部事务。控制器不是事务性的。如果你想保存在控制器中,然后在事务中移动保存逻辑,比如 -
Book.withTransaction { status ->
...
}
https://github.com/hibernate/hibernate-orm/blob/5.2/migration-guide.adoc#misc
最佳做法是对所有与数据库相关的活动使用 Service
层。
关于 interface Service
,请查看 http://gorm.grails.org/latest/hibernate/manual/index.html#dataServices