Se espera este comportamiento para el número de coma flotante. Puede leer cómo funciona el IEEE 754 https://en.wikipedia.org/wiki/IEEE_754 .
Pero creo que hay otro problema sucediendo. Usted dice que el número es doble (64 bits), pero según el resultado, parece que se convierte en flotante (32 bits)
-42295.8451869851 -> 0xC0E4A6FB0BC59380 (64bit) - 0xC72537D8 (32bit)
-42295.84518699004 -> 0xC0E4A6FB0BC59627 (64bit)- 0xC72537D8 (32bit)
Si desea mantener la precisión correcta, debe definirla correctamente tanto en la base de datos como en Java, use https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html