1

假设我有以下情况:我有 5 个实体(为简单起见而减少),我明确知道其中 3 个实体在数据库中的记录很少(每个 15-20 左右)。剩下的 2 个实体将有很多记录(数千条),并且也会快速增长。

使用默认的 Hibernate ID 生成策略 ( AUTO),这意味着所有记录在所有实体中都将具有唯一的 ID(因为只有 1 个序列)。我不愿意这样做,因为这意味着由于某些表中的大量记录,ID 将迅速增长。

问题 #1:我可以重新定义 2 个大实体的 ID 策略,以便每个实体都有自己的序列,并保持其他实体AUTO?混合和匹配 ID 策略是否被认为是好/坏的做法?我应该/不应该这样做的任何理由?

问题 #2:考虑到 Oracle 10g 数据库,关于 ID 生成策略有什么优缺点吗?例如; TABLE使用而不是更好SEQUENCE吗?

提前致谢!

4

2 回答 2

1

问题一:完全没有问题。每个实体类都可以有自己的 ID 策略。

问题 #2:序列的存在主要是为了生成代理键。所以,不要害怕使用它:-)

于 2011-01-18T11:08:38.770 回答
0

使用 oracle DBMS 我认为您应该考虑为所有实体使用序列

  • id 生成非常可靠,由 DB 完成
  • 你没有特殊情况可以让你的代码更容易理解
于 2011-01-18T11:06:07.660 回答