gpt4 book ai didi

java - 如何使用 JPA 多对多联接到同一个表来分层检索数据

转载 作者:行者123 更新时间:2023-12-02 12:03:12 25 4
gpt4 key购买 nike

我有一个包含一些版本的表(tbl_versions)。版本之间的关系就像父子关系。所以我将关系放在另一个表(tbl_relations)中,该表有两条记录(parent_id,child_id),并且与 tbl_versions 具有多对多关系。我想以树模型的形式检索数据,最后有一个位于树模型中的 json 文件。关于如何使用 JPQL 选择和检索有什么建议吗?

最佳答案

分层查询不容易实现。一般来说,编写 native SQL 是创建查询的最强大方法,因为到一天结束时,JPQL、HQL 或其他任何内容都将被转换为 native SQL 并发送到数据库。然后,如果您无法使用 SQL 编写查询(我的意思是一次),那么您将找不到一种通过 JPQL 编写查询的方法。

但是回到你的具体问题,像 Oracle 这样的数据库提供了像 start with connect by 这样的机制,JPQL 不支持这种机制,因为 MySQL 等其他数据库不支持。

在这种情况下,我的建议是再使用一列来保存记录之间的层次结构。该列充当元数据持有者,它不仅描述两个记录之间的父子关系,而且还包含有关当前记录的祖先的信息。

关于java - 如何使用 JPA 多对多联接到同一个表来分层检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47097987/

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