【问题标题】:Grails Transient FieldsGrails 瞬态场
【发布时间】:2023-03-30 16:02:01
【问题描述】:

来自 Rails 背景,我不太明白瞬态在 Grails 中的含义。我读到了,http://www.grails.org/doc/1.3.7/ref/Domain%20Classes/transients.html

正如上面所说的

"...在这种情况下,持久化这个属性是没有意义的..."

指南指的是String getUpperCaseName() { name.toUpperCase() }

我知道String name 在尝试保存到数据库时会被选中,但为什么 grails 会使用 getter 方法呢?是一种开始的方法..

【问题讨论】:

    标签: grails


    【解决方案1】:

    它对方法“困扰”的原因是 bean 命名约定,其中属性(在 Java 中)基于 setter 和 getter。基于这些识别“属性”(通过反射)的模式是:getXYZ()setXYZ() 其中XYZ 是 bean 格式的属性名称(name 变为 NamefullName 变为 @987654328 @)。

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

    这就是为什么。爪哇。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-20
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多