哪个结构需要任务?

时间:2015-05-28 12:21:47

标签: java spring

我想创建一些结构,如下所示:

company {
  id: 1,
  name:'first',
  departments: [
                 {
                   department { id:1 }
                 },
                 {
                  department { id: 2 }
                  }
                 }
              ]
       }, 
       {
        id: 2,
        name:'second',
        departments: [
                       {
                         department { id: 1 }
                       },
                       {
                         department { id: 2 }
                       }
                     ]
      } 

看起来像树。

请帮助,我需要使用哪些工具(集合,地图)或其他东西来实现此任务。谢谢。 很抱歉这个简单的问题。

如何为这两个实体创建查询? 我做的公司: List company = companyRepository.findAll(); 和部门:

List departmentsByCompany_id = new LinkedList();

     Iterator<Company> iter = company.iterator();
            while (iter.hasNext()) {
                departmentsbycompany_id.add(iter.next().getDepartments());
            }

但它的运作起作用。

如何在一个集合中添加两个实体)))

4 个答案:

答案 0 :(得分:3)

这样的东西?

class Company {
    int id;
    String name;
    Set<Department> departments;

    // getters, setters, logic, etc.
}

class Department {
    int id;

    // getters, setters, logic, etc.
}

然后,您的整体结构看起来像Company个对象的集合(尽管在您的示例中有点格式不正确):

Set<Company>

它不是真正的tree,它只是一个对象集合,每个对象都包含另一种对象的集合。如果每个对象引用同一类型的父对象或一组子对象,则树将更具递归性。

答案 1 :(得分:1)

您可以创建两个类,公司和部门: class Company {int id;字符串名称;部门部门} 然后,您可以使用集合存储包含部门详细信息的公司对象。

答案 2 :(得分:1)

公司对象有3个字段:

long id

String name

Set<Department> departments

一个部门对象是一个领域:

long id

答案 3 :(得分:0)

这几乎看起来像一个JSON对象。

如果你想要直接的Java结构,你也可以操作它,你的结构在你的结构示例中看起来非常简单:

您想要一个Company类的列表。

每个Company类应包含三个字段:idnameDepartment类列表。

每个Department类都应该有一个字段 - id