2011-11-24 17 views
11

Używam hibernacji. ma kolumnę id z 20 szczegółami jak poniżej, ale z typu NUMBER.Czy mogę używać BigDecimal jako typu id w hibernacji hbm?

NUMBER (38,20) - jest to wielkość podana w kolumnie "id" tabeli (baza danych Oracle).

Ten identyfikator jest generowany przez naszą aplikację. w jednostce, jeśli używam Float lub Double, nie może pomieścić 20 dokładności. ale java.math.BigDecimal może pomieścić te wiele dokładności. ale problemem jest to, czy mogę używać BigDecimal w hbm jak poniżej? czy będą jakieś problemy? czasami mogę nie wysłać id z dokładnością. czas hibernacji generuje dowolną pustą precyzję i wstawia?

<id name="someId" column="SOME_ID" type="java.math.BigDecimal"/> 

Proszę sugerować!

Odpowiedz

9

Możesz użyć type = "big_decimal". W żadnym wypadku nie powinieneś nawet próbować użyć Float lub Double do tego.

Powiązane problemy