Как установить разрешение для n-й страницы и суб-разрешение в спящем режиме? - PullRequest
0 голосов
/ 11 января 2020

Я хотел бы знать, каков наилучший способ установить разрешение n-й страницы и суб-разрешение одновременно, используя Java 8.

Вот Hibernate Entity


    @Entity(name = "PERMISSION")
    public class Permission{
        @Id
        @Column(name = "PERMISSION_ID")
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;

        @Column(name = "PERMISSION_NAME")
        private String name;


        @NotFound(action = NotFoundAction.IGNORE)
        @ManyToOne(cascade={CascadeType.ALL})
        @JsonIgnore
        @JoinColumn(name="parent_id")
        private Permission parentId;

       @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
        @OneToMany(mappedBy = "parentId", fetch = FetchType.EAGER)
        private List<Permission> subPermission;

Вот мой код Java, я хочу оптимизировать этот код, чтобы сохранить n-й объект разрешений в n-й подчиненном объекте разрешений


    Permission parent  = new Permission("Event");
    Permission parent1 = new Permission("Deals");
    Permission parent2 = new Permission("Movies");
    Permission parent3 = new Permission("Restaurant");
    Permission parent4 = new Permission("Outdoor");

    Permission child = new Permission("Create");
    Permission child1 = new Permission("Edit");
    Permission child2 = new Permission("Update");
    Permission child3 = new Permission("Delete");

    child.setParentId(parent);
    child1.setParentId(parent);
    child2.setParentId(parent);
    child3.setParentId(parent);

1 Ответ

0 голосов
/ 12 января 2020

Посмотрите на это. Это будет работать

private static List<Permission> set() {

        Permission parent = setParenPermission("Event");
        Permission parent1 = setParenPermission("Deals");
        Permission parent2 = setParenPermission("Movies");
        Permission parent3 =setParenPermission("Restaurant");
        Permission parent4 = setParenPermission("Outdoor");

        Permission child = setFirstLevel(parent, "Create");
        Permission child1 = setFirstLevel(parent, "Edit");
        Permission child2 = setFirstLevel(parent, "Update");
        Permission child3 = setFirstLevel(parent, "Delete");
        Permission subchild1 = setSecondLevel(child3,"Sub Delete");

        return Collections.unmodifiableList(
                Arrays.asList(
                        parent,
                        parent1,
                        parent2,
                        parent3,
                        parent4,
                        child,
                        child1,
                        child2,
                        child3,
                        subchild1
        ));
    }

    private static Permission setParentPermission(String name) {
        return new Permission(name);
    }

    private static Permission setFirstLevel(Permission firstLevel, String name) {
        Permission firstLevelChild = setParentPermission(name);
        firstLevelChild.setParentId(firstLevel);
        return firstLevelChild;
    }

    private static Permission setSecondLevel(Permission secondLevel, String name) {
        Permission secondLevelChild = new Permission(name);
        secondLevelChild.setParentId(secondLevel);
        return secondLevelChild;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...