如何在数据库表中保存一个空的字段映射到double?

时间:2016-09-14 20:29:10

标签: java hibernate

在Hibernate Layer中,数据库列价格使用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();

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用Double而不是double对我有帮助。