0

所以我正在开发一个包含 Java/JPA 和关系数据库的项目。

假设您有一个 Branch 类和一个BranchService类。Branch 包含与 Branch 相关的所有字段,并BranchService包含与BranchService. 如果您不考虑项目的 JPA 方面,并且您要在 Java 中创建一个新的 Branch 对象,则 Branch 类需要包含一个 List ofBranchService来维护两个类之间的关系。

我理解这背后的一些逻辑。如果去掉 JPA 和 rdbms,这两个表就没有什么关系了。我不明白为什么这个连接需要通过一个列表,我也有点不确定语法。我只是将它添加到我的分支课程的末尾吗?

List<BranchService> bsList = new ArrayList<BranchService>();

如果尝试在线搜索此示例,但我找不到任何示例。可能是因为我不是 100% 知道要寻找什么。感谢您对所有这些或我能阅读的任何材料的解释。

4

3 回答 3

2

如果我的问题是正确的,这不是 Java 或 JPA 的问题,而是对象模型的问题:如果分支服务是分支的一部分,那么分支应该有它包含的每个分支服务的引用,例如在集合或列表(同样数据库中的分支实体应包含分支服务的外键)。如果分支服务不是分支的一部分,则分支不一定包含对分支服务的引用(但这对于快速导航可能很有用)。

在后一种情况下,您只需能够识别分支和分支服务之间的关系 - 您可以通过现有对象或数据从一个导航到另一个(其中一个或那里可能有引用可能是知道这种关系的第三方实体等)。

我建议阅读对象建模和对象关系映射(O/R 映射)。

于 2013-08-15T13:21:28.713 回答
1

这是一对多关系的例子。一个“Branch”可以有多个“BranchService”。所以Branch类包含一个BranchService的List,就是维护两个类之间的关系(一对多的关系)

阅读示例

  • 一对一
  • 一对多
  • 多对多

你会明白关系类型

一对多示例 http://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example-annotation/

于 2013-08-15T13:18:10.030 回答
1

这取决于你想如何做事。但通常您的Branch班级对 BranchService 一无所知。相反,每当您想做某事时,您的应用程序都会执行以下操作:branchService.save(myBranchInstance);

我不知道你为什么要BranchBranchService

于 2013-08-15T13:15:25.093 回答