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 变为 NamefullName 变为 FullName)。

原因是这些方法 public 它们可以反映出来并从中派生属性,因为实际属性通常是 private(有很多充分的理由)。我还记得这是什么时候发生的。 (我太老了)

这就是原因。 Java。

这不是 Grails 的事情。这是 Java 的事情。如果您想更深入地了解您正在使用的技术,您可以阅读有关 JavaBean specification 的更多信息..