对象关系映射到Json而不是数据库

时间:2018-10-23 00:39:43

标签: java json hibernate orm database-normalization

我有3个课程:

class Employee{ 
  int id;
  String lastName;
  String firstName;
  Department department; //an employee has 1 department
}

class Department{
  int id;
  String name;
  List<Employee> employees;
}

class AllData{
   List<Employee> employees;
   List<Department> departments;
}

我想要将AllData类编组为json,但是与常规的编组工具(例如Jackson)不同,我希望对数据进行规范化并轻松 可编辑的,例如:

{
       "employees":[
         {id: 101, "lastName":"Smith", "firstName": "John", "departmentId": 201},
         {id: 102, "lastName":"Jones", "firstName": "Jill", "departmentId": 201},
       ]
       "departments":[
        {"id": 201, "name":"accounting"},
        {"id": 202, "name":"sales"},
       ]
 }

请注意,在不重复数据的情况下写出了json。例如,只有部门编号在Employee中写出,而不是整个部门 宾语。而且部门不会写出员工对象,因为那样会重复。这允许用户快速编辑json,这非常适合测试我们希望快速查看和修改对象的地方。我们拥有不同员工和部门的所有这些方案,并且如果我们可以轻松地以文本形式对其进行编辑和查看,则非常适合进行测试。从某种意义上说,我们想要的是像Hibernate这样的对象关系映射工具,但我不想从对象到数据库,而是要从对象到可编辑的文本格式(首选json)。从理论上讲,Hiberate在编写SQL语句时为我们提供了此功能,但是SQL在查看和编辑方面比json差很多。如果我错误地解决了这个问题,请告诉我。

0 个答案:

没有答案