之前在个人项目中用到了 jpa 来作为持久层,优点很明显,前期基础功能的开发很快,api 也简单易懂。
在涉及到一些多表的关联查询时,目前是通过 JpaSpecificationExecutor 接口提供的功能来实现,代价是让实体做了多层嵌套
//例如部门和员工,一对多的关系
public class Department {
}
public class Employee {
...
@ManyToOne
private Department department;
...
}
这样嵌套之后,问题也很明显。比如要新增一条数据
public void addEmployee(){
Employee employee = new Employee();
Department department = new Department();
department.setId(666);
employee.setDepartment(department);
save(employee);
}
明显代码不够美观,还存在很多空指针的隐患。
想请教一下针对 jpa 的多表查询,有没有更好的实现方式?要求是,操作能完全面向对象,代码尽量简洁。
希望能得到一些建议,谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.