【发布时间】:2014-01-14 20:53:50
【问题描述】:
我正在使用 java play 来制作一个 web 应用程序,但我在使用 ebeans 和 jpa 注释持久化数据时遇到了一些问题。 我搜索了很多,有点困惑,我认为这应该是常见的,我想要这样命名的表:
公司 1_users
公司 2_users
公司 N_users
但我只想拥有一个名为用户的实体,可以有这个架构吗?
我搜索了有关使用一个实体与多个表、使用表名前缀和使用动态表名的信息,但没有任何帮助。
一些想法??
【问题讨论】:
-
为什么要将用户存储在单独的表中?为什么不将公司存储为用户实体/表的字段/列?
-
因为我不想要一个增长到无穷大的用户表,你说我有一个概念错误?防止表像那样增长是错误的吗?
-
如果这是您唯一关心的问题,那么是的,这是错误的。您的数据库将提供管理大型表的技术。第一个策略是在您的公司 ID 和用户 ID 上创建一个唯一索引(按此顺序)。第二个策略(如果第一个还不够的话)是对公司进行分区。除非您有十亿用户,否则我怀疑您是否需要分区。指数应该够上千万
-
好的,谢谢@GlennLane!
标签: java jpa playframework persistence