在我的特殊情况下,我正在使用java,jdbcTemplate和HSQLDB数据库,但我认为这可以看作是关于数据库持久性的通用问题。持续收集性能良好的分层数据
可以说我有一个人的集合。每个人都可以成为其他人的父母,成为其他人的孩子。假设每个人都可以拥有多个地址和多个属性,例如身高,体重和眼睛颜色。
所以我们有以下表格。
人
地址(与基准回人表)
属性(与基准回人表)
关系(有两个参考回到人一桌,一对父母,一个给孩子)
并且可以说我有一大堆人需要在我的应用程序中坚持。
坚持这些数据的良好表现是什么?
明显地坚持每个人一个一个会慢。
下一个选项是将所有人员,他们的所有地址,属性和关系收集到他们自己的单独集合中,并将这些人分批保存。
但是,这是我现在卡在哪里。
我正在使用数据库生成的序列ID。
如果我先把所有的人都留在一个批次中,那么我如何获得这些人员ID来坚持这些人的所有地址,属性和关系?
我是否应该切换到在应用程序代码中生成ID,如果是这样,那么最佳做法是什么?
或者我应该以某种方式引用所需人员使用应用程序代码中已知的其他密钥。像人名+姓氏列...
还有其他方法吗?
嘿,谢谢你的回复。 1)相信与否我最初是从Hibernate开始解决问题的,但后来因为想要更细化的控制以及缺乏理解而放弃了,因此我一定会考虑再次使用它在手之前完成更多的阅读。 2)基于文件的持久性对我来说不会有效,除了我更喜欢JSON:P 3)你为什么说它不可行? Hibernate不会解决我在幕后描述的问题吗? Hibernate如何解决它? – user1066113