我想创建一些结构,如下所示:
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());
}
但它的运作起作用。
如何在一个集合中添加两个实体)))
答案 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
类应包含三个字段:id
,name
和Department
类列表。
每个Department
类都应该有一个字段 - id
。