首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jsp上显示带有对象的嵌套树

问如何在jsp上显示带有对象的嵌套树
EN

Stack Overflow用户
提问于 2016-06-28 22:07:55
回答 1查看 304关注 0票数 0

我想在我的jsp上展示这样的东西

CategoryParent1

-次范畴1

-次范畴2

CategoryParent2

-次范畴1

-次范畴2

我能用哪种方式解决它?spring有一些库吗?还是我必须使用一些外部库?

我有一个分类模型

代码语言:javascript
复制
@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;
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-04 17:42:35

我已经完成了类似的任务,但使用了递归查询。Here is the link 如果您不想使用递归查询。这是你需要做的。

  • 急切地抓取子类别(请参阅hibernate,急切地抓取并延迟加载)
  • 删除“主查询”中的“子查询”,并删除函数的递归语句。
  • 如果您已经成功地创建了关系,那么您只需使用您的"getchildrencategories“方法就可以得到它的子类别。
  • 无论是否使用递归函数,这都是您的选择。

也不要使用List更好地使用Set:

代码语言:javascript
复制
@OneToMany(fetch = FetchType.EAGER, mappedBy="parentCategory", cascade=CascadeType.REMOVE, orphanRemoval=true )
private Set<Categories> childCategories = new HashSet<Categories>();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38087085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档