IllegalStateException using CriteriaBuilder for getting a List in Java(使用CriteriaBuilder在Java中获取列表时引发IlLegalStateException)
问题描述
总而言之,我有3个实体,主要的一个是名为"RAC"的实体。它包含一个"racNatureza"列表,该列表包含一个属性"Natureza"。RAC
racNatureza
Natureza
我正在尝试开发一个使用过滤器的搜索,在这种情况下,用户选择一个"Natureza"列表,然后,系统必须显示哪个"RAC"包含用户选择的Natureza。为此,我尝试使用EntityManager和CriteriaBuilder来实现。
我尝试这样编写表达式,但不起作用(我没有使用元模型):
因此,使用上面的代码,我收到了以下错误: 由:java.lang.IlLegalStateException:非法尝试取消引用基本类型的路径源[null.racNaturezas]我认为错误在这一行,但我真的不知道如何修复它:
推荐答案
替换root.get("racNaturezas")
使用root.join("racNaturezas")
请不要问我为什么我们不能使用get
这篇关于使用CriteriaBuilder在Java中获取列表时引发IlLegalStateException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!