предполагам, тъй като не сте маркирали @column в идентификатора на обекта, той приема името на свойството по подразбиране на вашия getter, което ще бъде 'id'
опитай,директор
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="principal_id")
private Long principal_id;
Роля
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="role_id")
private Long role_id;