M суфикс означава, че числото е BigDecimal . Можете да проверите това в REPL
user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal
Тъй като типът на колоната на вашата база данни е decimal(5,2) и decimal(7,2) , не е безопасно да конвертирате числата в float или double защото тези типове с плаваща запетая не могат да представят всички числа на decimal(5,2) или decimal(7,2) точно.
Можете да търсите в Google с ключовата дума „неточност с плаваща запетая“. Има много статии и въпроси и отговори, също в Stackoverflow.