Enfin j'ai trouvé l'erreur !
Le message d'erreur qu'Hibernate me renvoyait était "mauvaise valeur pour le type int :admin", mais ce n'était pas le problème. Ce message était complètement fou par rapport à la question. Le vrai problème était que dans la base de données ma clé primaire (pk_role) est un type VARCHAR, mais dans mon entité j'ai mis un type INTEGER.
Après que Vlad ait essayé de m'aider à supposer la version du pilote jdbc, j'ai mis la configuration exactement égale à celle d'un autre projet qui fonctionnait assez bien et l'erreur était la même, donc je savais que l'erreur était dans mon propre code, bien sûr.