Java Hibernate/JPA混合ID生成策略
假设我有以下情况:我有5个实体(为了简单起见减少了),其中3个在数据库中几乎没有记录(每个大约15-20条)。剩下的两个实体将拥有大量记录(数千条),并将快速增长 使用默认的Hibernate ID生成策略(Java Hibernate/JPA混合ID生成策略,java,hibernate,jpa,id-generation,Java,Hibernate,Jpa,Id Generation,假设我有以下情况:我有5个实体(为了简单起见减少了),其中3个在数据库中几乎没有记录(每个大约15-20条)。剩下的两个实体将拥有大量记录(数千条),并将快速增长 使用默认的Hibernate ID生成策略(AUTO),这意味着所有记录在所有实体中都具有唯一的ID(因为只有一个序列)。我不愿意这样做,因为这意味着ID将快速增长,因为某些表中有大量记录 问题#1:我是否可以重新定义两个大实体的ID策略,以便每个实体都有自己的序列,并将其他实体保持在自动?混合搭配ID策略是否被认为是好的/坏的做法?
AUTO
),这意味着所有记录在所有实体中都具有唯一的ID(因为只有一个序列)。我不愿意这样做,因为这意味着ID将快速增长,因为某些表中有大量记录
问题#1:我是否可以重新定义两个大实体的ID策略,以便每个实体都有自己的序列,并将其他实体保持在自动
?混合搭配ID策略是否被认为是好的/坏的做法?我为什么应该/不应该这样做
问题#2:考虑到Oracle 10g数据库,在ID生成策略方面有哪些优点和缺点?例如;使用表格
而不是序列
是否更好
提前谢谢在Oracle DBMS中,我认为您应该考虑对所有的实体< /P>使用一个序列。
- 由DB生成的id非常可靠
- 您没有使代码更容易反译的特殊情况
- 由DB生成的id非常可靠
- 您没有使代码更容易反译的特殊情况
在Oracle DBMS中,我认为您应该考虑为所有的实体< /P>使用一个序列。
- 问题1:根本没有问题。每个实体类都可以有自己的ID策略
问题#2:序列的存在主要是为了生成代理密钥。所以,使用它时不要害怕:-)问题1:根本没有问题。每个实体类都可以有自己的ID策略
问题#2:序列的存在主要是为了生成代理密钥。所以,毫无恐惧地使用它:-)