我使用 Spring MVC 和常规 JDBC。
我刚刚了解到我应该将业务流程分为表示层、控制器层、服务层和存储库/DAO 层。现在假设我有一个名为Person
可以有多个Jobs
. Job
它本身是另一个实体,有自己的属性。据我所知,存储库层仅管理一个实体。现在我有一个实体包含另一个实体。我在哪里“加入”他们?服务层?
假设我想得到一个person
whose job
尚不清楚(延迟加载)。但系统可能会询问什么job
那个特定的person
是稍后的事。在这种情况下,每一层的作用是什么?
如果我需要在这个问题中添加任何细节,请告诉我。
从我从问题陈述中可以收集到的信息:-
- 人——可以在没有工作的情况下存在。可以有零个或多个作业。
- 工作 - 可以独立于执行该工作的人员而存在。
一种更简洁的方法是使用一个实体(及其表)来封装此映射:-
class Employment{
private Person person;
private Job job;
}
现在可以从两端查询。喜欢:-
这可能会给出 0 行或更多行。
每行也会有映射的Job的信息。
因此,在这种情况下,您的服务/存储库将类似于:-
interface EmployementRepository{
// CRUD methods on Employement.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)