Using primitives or wrapper class in Hibernate?

double, hibernate, java, mapping, primitive

Solution

I think you should use `Double` as it can hold even null value. So, in future if by any chance you decides make the DB column null-able, then you are safe. You just need to remove the `@NotNull'. You can not use the primitive`double` in this condition.

In any case hibernate is Object Relational Mapping, I would always stick to using Objects in my entity beans. It's a debatable point through.

There is even a logical issue with the primitives, say you don't know or don't have a value for `priceAfterTax`. If you use the primitive, the default value will be always there `0.0`. Which says that there is no tax!. But when I use `Double` it has `null` by defaults means I don't know what the tax is.

Problem

Mapping database with Hibernate. We should use Double with @NotNull constraint Or use the double primitive type instead. What is the best practice? (Using 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; } ``` Many thanks!

Original source