我有一个表,其中外键引用同一表的ID。我需要找到第一个作为参数传递给我的元素的子元素,直到达到一定水平为止。
我需要找到一个元素的所有子元素。
我第一次拥有ID_FK,但之后,我
" ";"ID";"ID_FK";"ISLAST"
"1";"12519";"12518";"N"
"2";"12520";"12518";"N"
"3";"12521";"12518";"N"
"4";"12522";"12518";"N"
"5";"12523";"12518";"N"
但是之后,我必须在ID_FK字段中找到ID列的每个结果,直到在ISLAST列中找到一个S。
"ID";"ID_FK";"ISLAST"
"12543";"12519";"N"
递归直到:
"ID";"ID_FK";"ISLAST"
"12519";"12568";"S"
结果:
" ";"ID";"ID_FK";"ISLAST"
"1";"12519";"555018";"s"
"2";"12520";"112318";"s"
"3";"12521";"128818";"s"
"4";"12522";"133888";"s"
"5";"12523";"125888";"s"
我需要一个查询来做到这一点,以便能够将其传递给JPA,或者是直接通过Entities和递归使用JPA进行编码的方式或想法。
答案 0 :(得分:1)
JPA不支持递归。
您将不得不使用SQL。
以下是PostgreSQL的文档及其递归功能:
https://www.postgresql.org/docs/current/queries-with.html
这里是Oracle递归查询的文档:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm