Wreszcie znalazłem błąd!
Komunikat o błędzie, który zwracał mi Hibernate, to „zła wartość dla typu int:admin”, ale nie problem. Ta wiadomość była kompletnie szalona w związku z tą sprawą. Prawdziwym problemem było to, że w bazie danych mój klucz podstawowy (pk_role) jest typu VARCHAR, ale w mojej encji umieściłem jako typ INTEGER.
Po tym, jak Vlad próbował mi pomóc w założeniu wersji sterownika jdbc, umieściłem konfigurację dokładnie taką samą jak w innym projekcie, w którym pracowałem, całkiem nieźle i błąd był ten sam, więc wiedziałem, że błąd był na pewno w moim własnym kodzie.