Я создал класс Permission
, который используется для предоставления доступа к компонентам моего приложения, затем я хотел отобразить все необходимые разрешения в Hibernate, но я столкнулся с проблемой: AnnotationException: Illegal use of mappedBy on both sides of the relationship: org.structure.business.Permission.permissions2
.
Разрешения работают следующим образом: есть корневое разрешение «ЧИТАТЬ», если у вас есть разрешение root, вы можете предоставить «РЕДАКТИРОВАТЬ», «СОЗДАТЬ» и «УДАЛИТЬ», вы не можете удалить, если не умеете читать. Поэтому в списке parentPermissions
я просто храню права доступа более низкого уровня.
Объект разрешения:
@Entity(name = "PERMISSION")
public class Permission implements Serializable {
@Id
private String name;
@ManyToMany(mappedBy = "permissions2", cascade = CascadeType.ALL)
private List<Permission> parentPermissions;
@ManyToMany(mappedBy = "parentPermissions", cascade = CascadeType.ALL)
private List<Permission> permissions2 = new ArrayList<>();
Как я могу сопоставить свои разрешения?