Сообщение об ошибке описывает проблему довольно хорошо:
Для сущности не указан идентификатор
В вашей сущности RoleFeatures
нет аннотированного столбца @Id
. Таким образом, hibernate не может идентифицировать объект в базе данных и отказывается запускаться.
Ваша так называемая сущность больше похожа на отношения «многие ко многим». Может быть, лучше пойти по этому пути.
Примерно так:
@Entity
public class Role {
@Id
@Column(name = "role_id")
private Long id;
@ManyToMany
@JoinTable(name = "roles_has_features",
joinColumns = @JoinColumn(name = "feature_id_fk", referencedColumnName = "feature_id"),
inverseJoinColumns = @JoinColumn(name = "role_id_fk", referencedColumnName = "role_id"))
private List<Feature> features;
...
}
Смотри также: https://www.baeldung.com/jpa-many-to-many