suppongo, dal momento che non hai contrassegnato @column nell'id dell'entità, sta prendendo il nome della proprietà predefinita del tuo getter che sarà 'id'
prova,Principale
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="principal_id")
private Long principal_id;
Ruolo
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="role_id")
private Long role_id;