如何处理Play Framework模型中的"计算"字段

Max*_*Max 4 jpa model playframework

在Play Framework中定义的"最佳实践"是什么?具有一些"计算"字段的对象,而不是直接映射到与实体相关的任何字段?

例如,我想为具有"定价"和"实际价格"的"产品"定义模型.

就DB而言,"列表价格"直接映射到模型类中的"int listPrice".然而,"实际价格"是使用与"产品"本身无关的附加数据(例如,一般商店折扣,部门特定折扣等 - 涉及的一些"商业逻辑")从"定价"计算的.

由于我的应用程序需要公开REST API(不只是一个web应用程序) - 我真的希望延长"产品"类,以支持"计算"领域,使双方"MyProduct.listPrice"和"MyProduct.finalPrice"将得到支持.

是否可以将"瞬态"成员添加到模型类中?如果没有,应该定义一个从模型派生的类,并使用它?

谢谢你的任何提示.

马克斯

Gel*_*Luo 9

这是要走的路

@Entity public class Product extends Model {
  ...
  public int listPrice;
  @Transient int realPrice;
  public int getRealPrice() {
    return calcRealPrice(listPrice);
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)