如何反映JPA“嵌套集合”模式(How to reflect “Nested Sets” model

2019-09-21 07:58发布

这是好事,使用嵌套组的分层数据。 但是在这个设计中,应始终计算正确的,如果您删除或插入一些数据左节点。 另外,你没有任何foreignkeys。

我怎么能体现这种模式与JPA? 可能吗?

Answer 1:

我想你会仍然想即使左,右的PARENT_ID,否则父/子查询是低效的,或者我甚至不能确定可能的。

你可以在你的应用程序/模型更新左,右值,或通过PrePersist /更新前/删除前的事件。

另一种选择是使用分解表代替。 对于你只需要添加使用多对多连接表的allChildren关系。 当您添加一个孩子的任何节点上,你只需要给孩子添加到所有的父母。

然而,另一种选择是只用在你的数据库层次查询,如在Oracle中CONNECT BY子句。



文章来源: How to reflect “Nested Sets” model in JPA