Ответ 1
DECIMAL и NUMERIC.
Рекомендуемое сопоставление Java для типов DECIMAL и NUMERIC java.math.BigDecimal. Тип java.math.BigDecimal обеспечивает математику операции, позволяющие добавлять BigDecimal типы, вычитать, умножается и делится на другие типы BigDecimal с целым числом типы и типы с плавающей точкой.
Метод, рекомендуемый для получения значений DECIMAL и NUMERIC, ResultSet.getBigDecimal. JDBC также обеспечивает доступ к этим типам SQL как простые строки или массивы char. Таким образом, Java-программисты могут использовать getString, чтобы получить результат DECIMAL или NUMERIC. Однако это делает общий случай, когда DECIMAL или NUMERIC используются для валютных значений, довольно неудобны, поскольку это означает, что разработчики приложений должны выполнять математику по строкам. Также возможно получить эти SQL-запросы типа как любой из числовых типов Java.
Посмотрите здесь для получения дополнительной информации.