使用Hibernate映射数据库。
我们应该使用带有@NotNull约束的Double 或者使用双原语类型。 什么是最佳做法? (使用Java 6)
@Column(name = "price_after_tax", nullable=false)
@NotNull
public Double getPriceAfterTax() {
return priceAfterTax;
}
OR
@Column(name = "price_after_tax")
public double getPriceAfterTax() {
return priceAfterTax;
}
非常感谢!
答案 0 :(得分:6)
我认为你应该使用Double
因为它甚至可以保持空值。因此,将来如果您决定使DB列无效,那么您就是安全的。您只需要在这种情况下删除@NotNull'. You can not use the primitive
double`。
在任何情况下,hibernate都是对象关系映射,我总是坚持在我的实体bean中使用Objects。这是一个有争议的观点。
原语甚至存在逻辑问题,比如你不知道或没有priceAfterTax
的值。如果使用原语,则默认值将始终为0.0
。哪个说没有税!。但是当我使用Double
时,默认设置为null
意味着我不知道税是什么。