我有三个表,即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)
暂无答案!
目前还没有任何答案,快来回答吧!