java—基于通过本机查询获取的先前数据动态获取多个数据

rryofs0p  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(209)

我有三个表,即order、item和itemvalues,order和item是一对多的关系,类似于item和itemvalues。在ui中,item是一个字段名,item值是该字段名的下拉列表。
订单表

id 
1 
2
3

项目表

Name          id    orderid
ExamCategory   1      1
Exam           2      1
Stage          3      1

itemvalue表

Name          level  parentLevel  itemId 
Banking        1         0           1
Army           2         0           1
Navy           3         0           1
SBI PO         1         1           2
HDFC PO        2         1           2
Preliminary    1         1           3

总而言之,有三个领域被命名为考试类别、考试和与银行有关的阶段,陆军和海军是考试类别的下拉值。level表示它们出现的顺序,parent level表示这些是最上面的字段下拉值。
我需要使用spring原生查询从数据库中获取数据,这样,如果我在第一个字段中选择exam category作为banking,那么所有子字段应该只显示与该字段相关的下拉值(i、 电子银行的考试类别,sbi采购订单,hdfc采购订单的考试,如果我选择sbi采购订单然后只有这样的初步阶段可以继续)。由于这可能是一个巨大的json,每次单击时我都需要调用db并只获取相应的数据。
我正在尝试获取基于orderid、itemlevel和itemvaluelevel的数据。我需要获取所有大于当前级别的项,以及所有将当前itemvalue作为parentlevel的项值(这一部分我正在努力处理,因为itemvalue和parentlevel的compaparison只能用于下一个字段)。之后,我需要使用第一次获取的结果值来确定下一行)。如何动态地实现这一点。sql查询也很好。感谢您的帮助。抱歉,我正在为如何完美地表达我所面临的问题而苦苦挣扎。

itemEntity = entityManager
                    .createQuery(
                            "select i from Item i left outer join fetch i.ItemValues iv "
                                    + "where i.orderId = :orderId and i.level> : reqLevel and iv.parentLevel = :parentLevel",Item.class)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题