¿Qué tipo de mapas asignarías a BigDecimal en Java/Hibernate en MySQL?
bigdecimal mysql (1)
DECIMAL y NUMERIC.
La asignación de Java recomendada para los tipos DECIMAL y NUMERIC es java.math.BigDecimal. El tipo java.math.BigDecimal proporciona operaciones matemáticas para permitir que se agreguen, restan, multiplican y dividen tipos BigDecimal con otros tipos BigDecimal, con tipos enteros y con tipos de punto flotante.
El método recomendado para recuperar valores DECIMAL y NUMERIC es ResultSet.getBigDecimal. JDBC también permite el acceso a estos tipos de SQL como cadenas simples o matrices de char. Por lo tanto, los programadores de Java pueden usar getString para recibir un resultado DECIMAL o NUMERIC. Sin embargo, esto hace que el caso común en el que DECIMAL o NUMERIC se usen para valores monetarios sea más bien incómodo, ya que significa que los escritores de la aplicación deben realizar operaciones matemáticas en cadenas. También es posible recuperar estos tipos de SQL como cualquiera de los tipos numéricos de Java.
Mire here para más detalles.
Después de pasar por el tren de naufragio del desarrollo anterior, me di cuenta de que tenía que mover todas las columnas basadas en dinero para no usar matemáticas de coma flotante. En el lado de Java, esto significa usar BigDecimal, pero al usar Hibernate / JPA y MySQL 5, ¿cuál sería el tipo de datos MySQL apropiado para hacer esa columna?