Juste à titre d'information, je peux vous dire que la création du BigDecimal revenant de la base de données est effectuée par l'implémentation du pilote JDBC propriétaire de la méthode 'getBigDecimal' de la sous-classe 'ResultSet' spécifique à la base de données.
J'ai découvert cela en parcourant le code source d'Hibernate avec un débogueur, tout en essayant de trouver la réponse à mon propre question .