Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ORM问题-JPA_Orm_Jpa - Fatal编程技术网

ORM问题-JPA

ORM问题-JPA,orm,jpa,Orm,Jpa,我在读职业JPA2。这本书的开头几页讨论了ORM 它讨论了用以下实例变量映射一个名为Employee的Java类:id、name、startDate、salary 然后讨论如何在关系数据库中表示此类,并提出以下方案 表A:环境管理计划 id-主键 起始日期 表B:环境管理 id—此表中的主键,也是引用表a中“id”列的外键 因此,似乎建议将Employee实例持久化到数据库将需要对两个(多个)表进行操作 Employee类首先应该有一个实例变量“salary”吗 我认为它可能属于一个单独的类(可

我在读职业JPA2。这本书的开头几页讨论了ORM

它讨论了用以下实例变量映射一个名为Employee的Java类:id、name、startDate、salary

然后讨论如何在关系数据库中表示此类,并提出以下方案

表A:环境管理计划 id-主键 起始日期

表B:环境管理 id—此表中的主键,也是引用表a中“id”列的外键

因此,似乎建议将Employee实例持久化到数据库将需要对两个(多个)表进行操作

Employee类首先应该有一个实例变量“salary”吗

我认为它可能属于一个单独的类(可能是类salary?)


我在这里遗漏了什么?

首先,作者解释了在数据库中表示类有多种方法:有时类到表的映射很简单,有时属性和列之间没有直接的对应关系,有时单个类由多个表表示:

在场景(C)中,EMP表 他们被分成两半,所以工资 信息存储在一个单独的数据库中 EMP_SAL表。这允许 要限制的数据库管理员 选择“访问薪资信息”以访问 那些真正需要它的用户。 有了这样的映射,即使是一个 Employee类的存储操作 现在需要插入或更新到两个 不同的桌子

因此,即使将单个类中的数据存储在数据库中也可能是一项具有挑战性的工作

然后,他描述了关系的不同之处。在对象级模型中,通过对象之间的关系遍历对象。在关系模型级别,使用外键和联接(有时通过对象模型级别甚至不存在的联接表)

继承是另一个“问题”,可以在关系模型级别以各种方式进行“模拟”:可以将整个层次结构映射到单个表中,可以将每个具体类映射到自己的表中,也可以将每个类映射到自己的表中


换句话说,对象模型和关系模型之间没有直接和唯一的对应关系。两者都依赖于不同的范式,但拟合并不完美。两者之间的差异称为,这是ORM必须处理的(允许对象模型和关系模型中的许多可能表示之间的映射)。这就是你正在阅读的整个章节的内容。这也是您所忽略的:)

首先,作者解释了在数据库中表示类有多种方法:有时类到表的映射很简单,有时属性和列之间没有直接的对应关系,有时单个类由多个表表示:

在场景(C)中,EMP表 他们被分成两半,所以工资 信息存储在一个单独的数据库中 EMP_SAL表。这允许 要限制的数据库管理员 选择“访问薪资信息”以访问 那些真正需要它的用户。 有了这样的映射,即使是一个 Employee类的存储操作 现在需要插入或更新到两个 不同的桌子

因此,即使将单个类中的数据存储在数据库中也可能是一项具有挑战性的工作

然后,他描述了关系的不同之处。在对象级模型中,通过对象之间的关系遍历对象。在关系模型级别,使用外键和联接(有时通过对象模型级别甚至不存在的联接表)

继承是另一个“问题”,可以在关系模型级别以各种方式进行“模拟”:可以将整个层次结构映射到单个表中,可以将每个具体类映射到自己的表中,也可以将每个类映射到自己的表中


换句话说,对象模型和关系模型之间没有直接和唯一的对应关系。两者都依赖于不同的范式,但拟合并不完美。两者之间的差异称为,这是ORM必须处理的(允许对象模型和关系模型中的许多可能表示之间的映射)。这就是你正在阅读的整个章节的内容。这也是你错过的:)

这不是一个JPA问题,而是一个普通的ORM问题。如果需要的话,我会更改标签(对于纯粹主义者来说)。这不是一个JPA问题,而是一个普通的ORM问题。如果需要,我会更改标签(对于纯粹主义者来说)。