我正在寻找关于建模各种实体及其文档(二进制文件,如PDF,TIFF等)之间关系的最佳实践的一些建议。这些实体是存储在PostgreSQL数据库中的标准JPA/Hibernate。文档本身将存储在MongoDb数据库中。如何建模不同父实体和一个普通子实体之间的关系
该计划是创建一个子实体来表示该文档,该文档包含需要检索的二进制数据的id。但是这种关系会是什么?
如果我简单地创建一个,如果这些文档实体为每个父实体,那么一个简单的一对多关系就可以工作,但这似乎是多余的。
我可以简单地放一个表示文档属于哪个实体的“type”列,然后用一个名为“id =?and type =?”的查询来查询文档表。我想这会工作,但有一些关于我对任何一个都不是疯狂的 - 只是不能把我的手指放在它:)也许这很好。
我看过的另一个选项(虽然我承认我以前从未使用过它,需要更多地研究它)是使用单向一对多连接表。但是,我不认为这会起作用,因为不能保证不会有重复的父键。我对所有基本关系表主键使用单个序列,这应该保证它,但它仍然听起来不是一个好主意。
最后,我考虑过是否创建了一个实体,然后对每个父实体进行扩展,但我认为这会有相同的缺陷 - 非唯一父ID的理论存在。
在我做出最终决定之前,我想看看社区可能提供的其他建议。
在此先感谢您的想法。
你找到答案了吗?我也有同样的问题。 – ps0604 2015-01-19 17:47:39