[英]How to set nth page's permission and sub permission in hibernate?
I would like to know what is the best way to set nth page permission and sub permission at once using Java 8.我想知道使用 Java 8 一次设置第 n 页权限和子权限的最佳方法是什么。
Here is 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;
Here is my Java code, I want this code to optimize so that i will save nth permission object in nth sub permission object这是我的 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);
Have a look at this.看看这个。 This will works这会起作用
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.