12

2 つの Grails ドメイン サンプル クラスについて考えてみましょう。

ファーストクラス:

class Person {

    String name
    Integer counter = 0

    static transients = ['counter']
}

2級:

class Vehicle {

    String name
    transient Integer counter = 0
}

クラスPersonVehicleの間のInteger カウンターフィールドのGORM 永続性またはドメイン クラスの動作に違いはありますか?

編集:Grailsのドキュメントで参照されているように、 Personクラスがそれを行うための良い方法であることを知っています。ただし、コードを読むときに見落とさないように、より明白で簡単に見えるように、 Vehicleクラスの方法を好みます。

4

1 に答える 1

15

2つのメカニズムは、異なる種類の「一時性」を定義します。static transientsHibernateによってデータベースにマップされるべきではないBeanプロパティを定義しますが、transientキーワードは、Javaオブジェクトのシリアル化メカニズムによって保存されるべきではないフィールドを示します(たとえば、webflowを使用する場合)。どちらもさまざまな状況で使用されます。

于 2012-09-17T17:49:04.253 に答える