mijn gok, aangezien je de @column niet hebt gemarkeerd in de id van de entiteit, neemt deze de standaardeigenschapsnaam van je getter, die 'id' zal zijn
probeer,Hoofd
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="principal_id")
private Long principal_id;
Rol
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="role_id")
private Long role_id;