java - 从条件查询中的父对象获取子对象的字段。(休眠/持久性)
问题描述
我有一个对象 (A),它有一个包含另一个object
(B) 的字段,而 B 有一个long
类型的字段。我希望能够在条件查询中访问 B 的长类型字段。
在示例代码中,我们看到了如何获取对象的字段,但是有没有办法以与示例代码类似的方式获取 objectA.objectB.field?
我找到了这个示例代码:
CriteriaQuery<Integer> criteria = builder.createQuery( Integer.class );
Root<Person> personRoot = criteria.from( Person.class );
criteria.selec(1)t( builder.max( personRoot.get( Person_.age ) ) );
criteria.where( builder.equal( personRoot.get( Person_.eyeColor ), "brown" ) );
Integer maxAge = em.createQuery( criteria ).getSingleResult();
解决方案
答案是我们可以在每个函数内部使用多个 get 函数。
例子:
criteria.where(builder.equal(ParentClass.get("ChildClass").get("FieldOfChildClass"), "value" ));
推荐阅读
- python - matplotlib - 范围之间的值绘制在绘图之外
- python - Python 格式化和计算字符串的数字(列表)
- c# - MS Graph API 更新 PlannerTask.ConversationThreadId
- javascript - 单击 HTML 按钮抛出未捕获的类型错误:无法读取 null 的属性(读取“长度”)
- api - 将 Sys.getlocale 更改为另一个国家 - API 授权不再有效
- reactjs - 如何通过从路径读取 SVG 文件来注册自定义图标?
- outlook - 用希伯来语翻译加载项
- python - Python Dash:在另一个下拉列表中选择相同选项时从一个下拉列表中排除选项
- linux - Linux 上的用户“mssql”sqlsrv 没有密码条目
- reactjs - Firebase React 应用托管 FirebaseError:安装:API 密钥无效。请传递有效的 API 密钥。”