5

Hibernate を使用したデータベースのマッピング。

Double を @NotNull 制約付きで使用するか、代わりに 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

Doublenull値でも保持できるので使ったほうがいいと思います。したがって、将来、DB 列を null 可能にすることを決定した場合でも、安全です。@NotNull'. You can not use the primitiveこの状態で double`を削除するだけです。

いずれにせよ、休止状態はオブジェクト リレーショナル マッピングです。エンティティ Bean では常にオブジェクトを使用することに固執します。それは議論の余地のあるポイントです。

プリミティブには、値がわからない、または値がないなどの論理的な問題さえありますpriceAfterTax。プリミティブを使用する場合、デフォルト値は常に存在し0.0ます。つまり、税金はありません!. しかし、私がDoubleそれを使用するとnull、デフォルトで税金が何であるかがわからないことを意味します。

于 2012-04-11T16:42:43.703 に答える