Java 如何在层次结构上实现CRUD操作并将其显示为属性网格或treegrid?

Java 如何在层次结构上实现CRUD操作并将其显示为属性网格或treegrid?,java,hibernate,jsp,spring-mvc,Java,Hibernate,Jsp,Spring Mvc,有谁能指导我,如何插入分层数据,如父->子->孙子->等,我需要在UI上将其显示为动态属性网格或树网格 MyRootData MyChild1Data MyGrandchild11Data MyGrandchild12Data MyGreatGrandchild121Data MyGrandchild13Data MyChild2Data MyGrandchild21D

有谁能指导我,如何插入分层数据,如父->子->孙子->等,我需要在UI上将其显示为动态属性网格或树网格

   MyRootData
      MyChild1Data 
         MyGrandchild11Data
         MyGrandchild12Data
            MyGreatGrandchild121Data
         MyGrandchild13Data
      MyChild2Data
         MyGrandchild21Data
         MyGrandchild22Data
   MyRootData
      MyChild1Data 
         MyGrandchild11Data
         MyGrandchild12Data
            MyGreatGrandchild121Data
         MyGrandchild13Data
      MyChild2Data
         MyGrandchild21Data
         MyGrandchild22Data 
我在春季mvc Hibernate中尝试这个,我有点吃惊,请帮助我。如果有,请使用完整的示例/代码库

模式

@Entity
@Table(name ="Textual_Req")
public class TextualReq {

       @Id
       @GeneratedValue( generator = "increment" )
       @GenericGenerator( name = "increment", strategy = "increment" )
       @Column(name="ID")
       private int                    id;

       @ManyToOne
       @JoinColumn(name="parent")
       private TextualReq                parent;
       @OneToMany( mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER )
       @Column(name="children")
       private Set<TextualReq> children = new HashSet<TextualReq>();
       @Column(name="data")
       private String                  data;

这个问题太宽泛和不清楚。你到底在问什么?如何使用jpa/hibernate对层次结构建模?如何使用SpringMVC/JSP显示层次结构?你试过什么?我试过使用SpringMVC和Hibernate进行端到端的测试。我会用一些代码更新帖子。你的实际问题是什么?在我看来像是一个层次结构模型。托布,我正在尝试实现一个树状结构的网格数据,这样它就与JPA/Hibernate无关了?
@SuppressWarnings("unchecked")
    @Override
    public List<TextualReq> listTextualReq() {
        Session session = this.sessionFactory.getCurrentSession();
        List<TextualReq> textualReqList = session.createQuery("from TextualReq where parent is null").list();
        for(TextualReq root : textualReqList){
            logger.info("textualReqList ::"+root);
             root.display( "   " );
        }
        return textualReqList;
    }
@RequestMapping(value = "/textualReq", method = RequestMethod.GET)
    public String listRequestReq(Model model) {
        model.addAttribute("textualReq", new TextualReq());
        model.addAttribute("listtextualReq", this.textualReqService.listTextualReq());
        return "textualReq";
    }