在我的特殊情況下,我正在使用java,jdbcTemplate和HSQLDB數據庫,但我認爲這可以看作是關於數據庫持久性的通用問題。持續收集性能良好的分層數據
可以說我有一個人的集合。每個人都可以成爲其他人的父母,成爲其他人的孩子。假設每個人都可以擁有多個地址和多個屬性,例如身高,體重和眼睛顏色。
所以我們有以下表格。
人
地址(與基準回人表)
屬性(與基準回人表)
關係(有兩個參考回到人一桌,一對父母,一個給孩子)
並且可以說我有一大堆人需要在我的應用程序中堅持。
堅持這些數據的良好表現是什麼?
明顯地堅持每個人一個一個會慢。
下一個選項是將所有人員,他們的所有地址,屬性和關係收集到他們自己的單獨集合中,並將這些人分批保存。
但是,這是我現在卡在哪裏。
我正在使用數據庫生成的序列ID。
如果我先把所有的人都留在一個批次中,那麼我如何獲得這些人員ID來堅持這些人的所有地址,屬性和關係?
我是否應該切換到在應用程序代碼中生成ID,如果是這樣,那麼最佳做法是什麼?
或者我應該以某種方式引用所需人員使用應用程序代碼中已知的其他密鑰。像人名+姓氏列...
還有其他方法嗎?
嘿,謝謝你的回覆。 1)相信與否我最初是從Hibernate開始解決問題的,但後來因爲想要更細化的控制以及缺乏理解而放棄了,因此我一定會考慮再次使用它在手之前完成更多的閱讀。 2)基於文件的持久性對我來說不會有效,除了我更喜歡JSON:P 3)你爲什麼說它不可行? Hibernate不會解決我在幕後描述的問題嗎? Hibernate如何解決它? – user1066113