2011-09-26 19 views
29

Önceki geliştirmenin kod çözme kodundan geçtikten sonra, tüm para tabanlı sütunları kayan nokta matematiği kullanmamam gerektiğini fark ettim. Java tarafında bu BigDecimal kullanarak anlamına gelir, ancak Hibernate/JPA ve MySQL 5 kullanırken bu sütun yapmak için uygun MySQL veri türü ne olurdu?Ne tür bir harita, Java/Hibernate MySQL içinde BigDecimal?

cevap

36

DECIMAL ve NUMERIC.

Ondalık ve SAYISAL türleri için önerilen Java haritalama java.math.BigDecimal olduğunu. Java.math.BigDecimal türü, BigDecimal türlerinin eklenmesine, çıkarılmasına, çoğaltılmasına ve diğer BigDecimal türlerine bölünmesine, türlerine ve kayan nokta türlerine izin vermek için matematik işlemlerini sağlar.

DECIMAL ve NUMERIC değerlerini almak için önerilen yöntem ResultSet.getBigDecimal şeklindedir. JDBC ayrıca, bu SQL türlerine erişimini basit Dizeler veya char dizileri olarak da sağlar. Böylece, Java programcıları bir DECIMAL veya NUMERIC sonucu almak için getString kullanabilirler. Ancak bu, 'u, DECIMAL veya NUMERIC'in para birimi değerleri için oldukça garip olduğu bir durumdur, çünkü uygulama yazarlarının dizelerinde matematik gerçekleştirmesi gerektiği anlamına gelir. Bu SQL türlerini, Java sayısal türlerinden herhangi biri olarak almak da mümkündür.

Daha fazla bilgi için here'a bakın.

+0

Güncelleme linki: http://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html – borjab