gpt4 book ai didi

java - 我应该在哪一层将 2 个实体连接在一起?

转载 作者:行者123 更新时间:2023-11-29 08:57:25 25 4
gpt4 key购买 nike

我使用 Spring MVC 和常规 JDBC。

我刚刚了解到我应该将业务流程分成多个层,即表示层、 Controller 层、服务层和存储库/DAO 层。现在假设我有一个名为 Person 的实体,它可以有多个 JobsJob 本身是另一个具有自己属性的实体。据我所知,存储库层只管理一个实体。现在我有一个包含另一个实体的实体。我在哪里“加入”他们?服务层?

假设我想得到一个 personjob 还不知道(延迟加载)。但是系统稍后可能会询问该特定工作 是什么。在这种情况下,每一层的作用是什么?

如果我需要在此问题中添加任何详细信息,请告诉我。

最佳答案

从我可以从问题陈述中收集到的信息:-

  1. 人 - 可以没有工作。可以有零个或多个工作。
  2. 工作 - 可以独立于执行它的人而存在。

一种更简洁的方法是拥有一个封装此映射的实体(及其表):-

class Employment{
private Person person;
private Job job;
}

现在您可以从两端进行查询。喜欢:-

  • 从工作中选择 PERSON.ID=xyz

这可能会产生 0 行或更多行。

每一行也会有映射的作业的信息。

所以在这种情况下,您的服务/存储库将类似于:-

interface EmployementRepository{

// CRUD methods on Employement.
}

关于java - 我应该在哪一层将 2 个实体连接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19512706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com