2012-01-19 13 views
4

「ベストプラクティス」とは何か - Play Frameworkでは、フィールドのいずれかに直接マッピングされるのではなく、「計算された」フィールドを持つオブジェクトエンティティに関連する?Play Frameworkモデルの「計算された」フィールドを処理する方法

たとえば、「定価」と「実質価格」を持つ「製品」のモデルを定義したいと考えています。

DBに関して、「リスト価格」は、モデルクラスの「int listPrice」に直接マップされます。しかし、「実際の価格」は、「商品価格」から「商品」自体に関係のない追加データ(一般店舗割引、部門別割引など - 「ビジネスロジック」)を使用して計算されます。

私のアプリはREST APIを公開する必要があります(Webアプリケーションだけでなく)ので、「計算済み」フィールドをサポートするために「Product」クラスを拡張したいので、「MyProduct.listPrice」と「MyProduct .finalPrice "がサポートされます。

"transient"メンバをモデルクラスに追加することはできますか?そうでない場合は、モデルから派生したクラスを定義して使用する必要がありますか?

ありがとうございます。ここで

マックス

答えて

9

@Entity public class Product extends Model { 
    ... 
    public int listPrice; 
    @Transient int realPrice; 
    public int getRealPrice() { 
    return calcRealPrice(listPrice); 
    } 
    ... 
} 
を移動するための方法である
関連する問題