Mik*_*uto 25 grails read-write grails-orm
我撇了一些Grails文档,发现这一点关于read()Grails的方法.如果我正确理解了这一点,您可以从数据库中提取一个只读对象的"只读"版本,该版本只会在显式save()调用中保存.在我看来,read()只要你有一个你不希望被改变的对象,就应该使用一个调用.
但为什么你不会总是使用read()电话?因为save()无论如何,对象将被更改为读/写权限,仅仅读取对象而不是获取它是不是更安全?
Bur*_*ith 20
你可能是对的 - 在大多数情况下它都是等同的.但是Hibernate不需要你调用,save()因为它在刷新期间进行脏检查,并且由于Grails使用"在视图中打开会话"拦截器,所以在每个请求结束时总会有一个刷新.令人惊讶的是,那些在其中检索的实例中进行更改的人get()只是在渲染视图时只是暂时的,但随后无需save()调用就会保持更改.read()在那种情况下会更有意义.
一个性能优化是使用http://grails.org/doc/latest/ref/Database%20Mapping/dynamicUpdate.html仅将更改的字段推送到数据库.默认情况下是推送所有字段,无论它们是否已更改,因为不需要为每次更新生成新的SQL.如果你read()的实例Hibernate没有保留原始数据,那么动态更新是不可能的,因为无法知道哪些字段是脏的.
| 归档时间: |
|
| 查看次数: |
6536 次 |
| 最近记录: |