我想在我的jsp上显示这样的内容
类别父母1
-----子类别1
-----子类别2
CategoryParent2
-----子类别1
-----子类别2
我可以用哪种方式解决呢? spring-mvc是否有一些库?还是我必须使用一些外部库?
我有一个类别模型
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@ManyToOne
private Category parentCategory;
@OneToMany(mappedBy = "parentCategory", cascade = CascadeType.ALL)
private List<Category> childCategories = new ArrayList<>();
public Category() {
}
public Category(String name){
this.name = name;
}
public Category(String name, Category parentCategory) {
this.name = name;
this.parentCategory = parentCategory;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Category getParentCategory() {
return parentCategory;
}
public void setParentCategory(Category parentCategory) {
this.parentCategory = parentCategory;
}
public List<Category> getChildCategories() {
return childCategories;
}
public void setChildCategories(List<Category> childCategories) {
this.childCategories = childCategories;
}
}
最佳答案
我已经完成了类似的任务,但是使用了递归查询。 Here is the link
如果您不想使用递归查询。这是您需要做的。
渴望获取子类别(请参见休眠渴望获取|延迟加载)
删除“主查询”内部的“子查询”,并删除函数的递归语句
如果您已成功创建关系,则可以使用“ getchildrencategories”方法获取其子类别。
是否使用递归函数由您选择。
并且不要使用List最好使用Set:
@OneToMany(fetch = FetchType.EAGER, mappedBy="parentCategory", cascade=CascadeType.REMOVE, orphanRemoval=true )
private Set<Categories> childCategories = new HashSet<Categories>();
关于java - 如何在jsp上显示带有某些对象的嵌套树,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38087085/