J'ai une application Spring exécutée sur une base de données MySql. J'ai une table de vente comme:Spring queryForLong - Perte de précision
+-------------------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------+-------+
| Price | decimal(19,4) | NO | | NULL | |
| ItemId | int(10) unsigned | NO | | NULL | |
+-------------------+------------------------------+------+-----+---------+-------+
Dans ma classe de printemps, je donne les résultats suivants:
long price = getSimpleJdbcTemplate().queryForLong("SELECT price FROM sales WHERE itemID = :itemID", params);
logger.info("price: " + price + ");
Cependant, ce renvoie un prix de 1, même si cette requête directement sur la base retourne 0,8500. Comment éviter cette perte de précision de la décimale dans la base de données à la longue dans mon code?