尽管这是不常见的场景,但是我们可以将实体存储文件在多个表中。不要将这一点与Collection或者Map属性存储在单独的表中的概念混淆——那是良好的规范方式所产生的目标结果。相反,这个特殊的场景将实体的基本属性存储在不同的表中,实际上是会破坏范式的。在一个荒唐的例子中,Employee的名可能被存储在表Employeel中,而它的姓被存储在表Employee中。这通常是遗留数据库的特征,对象关系映射的数据库供应商允许的数目。
  默认情况下,实体的所有的非Collection、非Map属性都被认为保存在主表中。主表就是在Table中指定的表,或者在不使用Table的情况下与实体同名的表。如果实体的某些属性存储在副表中,那么应该使用javax注解标注它,指定表的名称和其他细节(可选的)。如果实体有多个副表,还可以使用javax对多个SecondaryTable注解进行分组。然后,实体中的每个属性应该被标记上Column,表示它所属的表。
  我们会假定副表包含一个与主表的关键列同名的列,并且该列应该是副表的主键。可以在SecondaryTable注解中自定义该列的细节。尽管Advanced Mappings项目中并未演示如何将实体映射到多个表中。

关于TeamDoc软件:

TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页

TeamDoc软件界面(点击可放大)

版权所有:南京网亚计算机有限公司,本文链接地址: 在多个表中存储文件实体