Grails 瞬态字段
Grails Transient Fields
来自 Rails 背景,我不太理解 transient 在 Grails 中的含义。我读了这个,http://www.grails.org/doc/1.3.7/ref/Domain%20Classes/transients.html
正如它所说的那样
"...In this case it doesn't make sense to persist this property..."
指南指的是String getUpperCaseName() { name.toUpperCase() }
我知道 String name
会在尝试保存到数据库时被提取,但为什么 grails 会费心使用 getter 方法?这是一个开始的方法..
之所以 "bothers" 使用方法是因为 bean 命名约定,其中属性(在 Java 中)基于 setter 和 getter。基于这些识别 "property"(通过反射)的模式是:getXYZ()
和 setXYZ()
其中 XYZ
是 bean 格式的 属性 名称(name
变为 Name
,fullName
变为 FullName
)。
原因是这些方法 public
它们可以反映出来并从中派生属性,因为实际属性通常是 private
(有很多充分的理由)。我还记得这是什么时候发生的。 (我太老了)
这就是原因。 Java。
这不是 Grails 的事情。这是 Java 的事情。如果您想更深入地了解您正在使用的技术,您可以阅读有关 JavaBean specification 的更多信息..
来自 Rails 背景,我不太理解 transient 在 Grails 中的含义。我读了这个,http://www.grails.org/doc/1.3.7/ref/Domain%20Classes/transients.html
正如它所说的那样
"...In this case it doesn't make sense to persist this property..."
指南指的是String getUpperCaseName() { name.toUpperCase() }
我知道 String name
会在尝试保存到数据库时被提取,但为什么 grails 会费心使用 getter 方法?这是一个开始的方法..
之所以 "bothers" 使用方法是因为 bean 命名约定,其中属性(在 Java 中)基于 setter 和 getter。基于这些识别 "property"(通过反射)的模式是:getXYZ()
和 setXYZ()
其中 XYZ
是 bean 格式的 属性 名称(name
变为 Name
,fullName
变为 FullName
)。
原因是这些方法 public
它们可以反映出来并从中派生属性,因为实际属性通常是 private
(有很多充分的理由)。我还记得这是什么时候发生的。 (我太老了)
这就是原因。 Java。
这不是 Grails 的事情。这是 Java 的事情。如果您想更深入地了解您正在使用的技术,您可以阅读有关 JavaBean specification 的更多信息..