簡體   English   中英

Hibernate / JPA混合ID生成策略

[英]Hibernate/JPA mixing ID generation strategies

假設我有以下情況:我有5個實體(為簡單起見而簡化),我明確地知道其中3個實體在數據庫中幾乎沒有記錄(每個15-20左右)。 其余2個實體將擁有大量記錄(數千個),並且還將快速增長。

使用默認的Hibernate ID生成策略( AUTO ),這意味着所有記錄在所有實體上都將具有唯一的ID(因為只有1個序列)。 我不願意這樣做,因為這意味着由於某些表中的大量記錄,ID將會快速增長。

問題#1 :我可以重新定義2個大實體的ID戰略,以便每個大實體都有自己的序列,並使其他大實體保持AUTO嗎? 混合使用ID策略是否被認為是好/壞做法? 有什么原因我應該/不應該這樣做?

問題2 :考慮使用Oracle 10g數據庫,是否有關於ID生成策略的利弊? 例如; 使用TABLE代替SEQUENCE更好嗎?

提前致謝!

問題1:完全沒有問題。 每個實體類都可以擁有自己的ID策略。

問題2:存在序列主要是為了生成代理密鑰。 因此,請放心使用它:-)

使用Oracle DBMS我認為您應該考慮對所有實體使用序列

  • 數據庫生成的ID生成是如此可靠
  • 您沒有特殊情況,這會使您的代碼更容易理解

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM