org.seasar.doma
注釈型 ChangedProperties


@Target(value=FIELD)
@Retention(value=RUNTIME)
public @interface ChangedProperties

変更されたプロパティの名前を管理するフィールドを示します。

UPDATE文のSET句に変更があったプロパティだけを含めたい場合に使用します。

このアノテーションが注釈されるフィールドは、 Entity が注釈されたクラスのメンバでなければいけません。 フィールドの型は String を要素とする Set のサブタイプでなければいけません。フィールドに Set のサブタイプのインスタンスを設定するのはアプリケーション開発者の責任です。

プロパティの名前は、各プロパティのセッターメソッドで設定しなければいけません。

例:
 @Entity
 public class Employee {
 
     String name;
 
     @ChangedProperties
     Set<String> changedProperties = new HashSet<String>();
     
     public String getName() {
         return name;
     }
     
     public void setName(String name) {
         changedProperties.add("name");
         this.name = name;
     }
     
     ...
 }
 

作成者:
taedium



Copyright © 2009 The Seasar Foundation. All Rights Reserved.