5

使用 Hibernate 映射数据库。

我们应该使用带有 @NotNull 约束的 Double 或使用 double 原始类型。最佳做法是什么?(使用 Java 6)

@Column(name = "price_after_tax", nullable=false)
@NotNull
public Double getPriceAfterTax() {
    return priceAfterTax;
}

或者

@Column(name = "price_after_tax")
public double getPriceAfterTax() {
    return priceAfterTax;
}

非常感谢!

4

1 回答 1

6

我认为您应该使用Double它,因为它甚至可以保存空值。因此,将来如果您决定使 DB 列可以为空,那么您是安全的。在这种情况下,您只需要删除@NotNull'. You can not use the primitivedouble`。

无论如何,hibernate 是对象关系映射,我总是坚持在我的实体 bean 中使用对象。这是一个有争议的观点。

原语甚至存在逻辑问题,比如您不知道或没有priceAfterTax. 如果您使用原语,则默认值将始终存在0.0。上面说没有税!. 但是当我使用Double它时null,默认情况下意味着我不知道税是多少。

于 2012-04-11T16:42:43.703 回答