Bara för informativ skull kan jag berätta att skapandet av BigDecimal som kommer tillbaka från databasen görs av den proprietära JDBC-drivrutinens implementering av 'getBigDecimal'-metoden för den databasspecifika 'ResultSet'-underklassen.
Jag fick reda på detta genom att gå igenom Hibernate-källkoden med en debugger, samtidigt som jag försökte hitta svaret på min egen fråga .