gpt4 book ai didi

java - 如何建模不同父实体和一个公共(public)子实体之间的关系

转载 作者:行者123 更新时间:2023-11-29 09:12:06 26 4
gpt4 key购买 nike

我正在寻找一些有关建模各种实体及其文档(如 PDF、TIFF 等二进制文件)之间关系的最佳实践的建议。这些实体是存储在 PostgreSQL 数据库中的标准 JPA/Hibernate。文档本身将存储在 MongoDb 数据库中。

计划是创建一个子实体来表示文档,其中包含二进制数据的 id 以根据需要检索它。但这种关系是什么?

如果我只是为每个父实体创建一个 if 这些文档实体,那么一个简单的一对多关系就可以工作,但这似乎是多余的。

我可以简单地放置一个“类型”列来指示文档属于哪个实体,然后使用命名查询“id = ? and type = ?”来查询文档表。我想这会行得通,但有些事情我并不为之疯狂 - 只是不能把我的手指放在上面 :) 也许这很好。

我看过的另一个选项(虽然我承认我以前从未使用过它,并且需要更多地研究它)是使用单向一对多连接表。但是,我认为这也行不通,因为不能保证不会有重复的父键。我对所有基本关系表的主键使用单一序列,这应该能保证这一点,但听起来仍然不是个好主意。

最后,我考虑过是否创建一个实体,然后为每个父实体扩展它,但我认为这会有同样的缺陷——理论上存在非唯一父 id。

在做出最终决定之前,我想看看社区可能提供的其他建议。

提前感谢您的想法。

最佳答案

If I simply created one if these document entities for each parent entity then a simple one to many relationship would work, but that seems to redundant.

我有点困惑。如果为每个 parent 创建一个文档,那不是一对一而不是一对多吗?听起来你想要一对多的关系。在这种情况下,您只需为引用它的所有父实体创建一个文档。

关于java - 如何建模不同父实体和一个公共(public)子实体之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11763296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com