在休眠层中,数据库列价格映射为Double类型。但是,由于业务逻辑,我必须处理价格的空白字段。没有价格和价格为0.0在buiness逻辑中有两个不同的含义。如何处理呢?

boolean day1 = true;
boolean day2 = true;
boolean day3 = true;
boolean day4 = true;
boolean day5 = true;
boolean day6 = true;
boolean day7 = true;
//double ogPrice = 10.99;


OrderGuideProduct orderGuideProduct = new OrderGuideProduct();

orderGuideProduct.setDay1(day1);
orderGuideProduct.setDay2(day2);
orderGuideProduct.setDay3(day3);
orderGuideProduct.setDay4(day4);
orderGuideProduct.setDay5(day5);
orderGuideProduct.setDay6(day6);
orderGuideProduct.setDay7(day7);

//  this is where I need to set the empty value
orderGuideProduct.setOgPrice();

最佳答案

我建议在这种情况下使用BigDecimal而不是double。前者是可为空的(因此可与0.0区别),应由Hibernate识别。

09-10 21:23