1

私は Persistence Entity クラス (JPA) を持っており、getter と setter に静的メソッド呼び出しを追加して変換ロジックを実行することについて議論していますが、何らかの理由でそれを行うのが適切ではないようです。getter/setter カスタム ロジックのベスト プラクティスはありますか? このアプローチの欠点はありますか? UI は「/」を使用してデータを入力する必要がありますが、このシステムと接続する別のシステムでは「/」を「_」に変換する必要があります。

@Entity
public class Sample {
 @Id   
 private id;
 @Column
 private String test;

 public String getTest() {
        return Util.convert(test);
 }
 public void setTest(String test) {
        this.test = Util.convert(test);
 }

}

    import org.apache.commons.lang3.StringUtils;
    public class Util{

    public static String convert(String enteredValue){
        return StringUtils.replace(enteredValue,"/","_"); //just example
    }
    }
4

4 に答える 4

2

ゲッターで静的メソッド呼び出しを行うことは問題ありません。ただし、アプリケーションの別の部分が元の形式またはこれ以外の形式のデータを必要とする場合、問題に直面する可能性があります/.

別のアプローチは、別のゲッター メソッドを使用することgetTestWithHyphenですgetTestWithDot

または、クライアントUtilが異なる形式のデータを必要とするときはいつでもメソッドを呼び出せるようにします。

于 2013-10-11T05:43:52.130 に答える