问题标签 [hibernate-criteria]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - Hibernate Criteria - 如何过滤嵌套的孩子?
我担心我之前的问题可能表述得很糟糕,所以为了清楚起见,我重新开始。
想象许多表,每个表之间存在 OneToMany 关联;农场 -> 田野 -> RegionGroup -> 地区。我正在尝试构建一个 Criteria 查询,该查询将在Region.nutrient上进行过滤。我已经看到很多人过滤顶层属性的例子,有时甚至是下一层,但我不确定在过滤四层深度时如何构造查询。目前我有这个,这是行不通的;
发生的情况是生成的主 SQL 查询正确地涵盖了所需的结果(并且正是应该检索的数据集),但是,当您迭代返回的对象时,RegionGroup -> Region的关联执行与每次迭代的子查询不包括限制,因此我得到RegionGroup的所有区域,而与Region.nutrient的值无关;
我需要添加什么才能强制执行针对关联路径“fields.regionGroups.regions”指定的限制?
编辑:下面的 HQL 做了我所追求的,但没有我所追求的定义灵活性,所以我想将它转换为 Criteria 查询;
这给了我一个List<Farm>
可以这样迭代的输出;
那么,如何将其指定为条件查询?为了证明它正在做我想做的事情,如果我简单地更改 HQL 并删除对 Region.nutrient 的限制,我会取回每个 RegionGroup 的所有区域;
在没有更改迭代结果的代码的情况下,我现在得到了这个;
hibernate - 使用相关实体的主键过滤结果的休眠条件查询
在我们的系统中,我们的数据库如下所示
一个机构有很多券商,一个券商有很多用户,一个用户有很多订单。
我正在尝试使用休眠条件来查找指定经纪商下用户的所有订单。在纯 SQL 中,这将非常容易。我可以在标准 api 中执行此操作吗?我发现条件 api 在单击和过滤类型 uis 时特别有效,因为您可以构建一个无序的限制列表并将它们添加到条件中。
目前我有这个不起作用
我收到消息“引起:org.hibernate.QueryException:无法解析属性:user.brokerage of:com.printlogix.rp.server.domain.UserOrder:”。
你能像“object.parentobject.property”一样将参数名称传递给Restrictions.eq吗?
hibernate - 休眠条件查询
我有以下查询 sql 查询:
这是我到目前为止所写的:
如何在第一个括号内写“和”和“或”?
java - 限制子项的休眠条件
我有一个要在一个 SQL 语句中执行的 Hibernate 条件调用。我正在尝试做的是选择具有一系列值(SQL IN 子句)中的属性的子级的父级实例,同时使用外连接加载子级。这是我到目前为止所拥有的:
以下是一些示例数据:
如果其中一个孩子的属性等于我的绑定参数,我想要做的是返回父母和他们的所有孩子。假设 properties 是一个包含 {2} 的数组。在这种情况下,调用将返回父级 A 和 C,但它们的子集合将仅包含元素 2。即 Parent[Children]:
A[2] 和 C[2]
我想要的是:
A[0, 2, 7] & C[1, 2 3]
如果这不是一个错误,它似乎是一个损坏的语义。我看不出调用 A.getChildren() 或 C.getChildren() 并返回 1 条记录会被认为是正确的——这不是预测。即,如果我增加查询以使用默认选择提取,它会返回正确的子集合,尽管有大量查询:
这是一个错误吗?如果没有,我怎样才能达到我想要的结果?
hibernate - 连接表的休眠条件 - 如何创建?
我只有 3 张桌子,例如:
产品
.---------
id
名称
类别
.---------
id
名称
product_category
.------------------------
p_id
c_id
我想获取产品类别为 id=3 的产品列表。我对如何为此编写一个感到困惑hibernate criteria
。任何帮助,将不胜感激。
谢谢
java - 遵循 SQL 的标准是什么?
任何人都可以帮助我了解以下查询的标准:
我正在尝试以下标准
上述标准检索表数据。
另外,如果我只需要 TableA 中的特定列,标准将如何变化?
谢谢你的时间。
编辑:TableA 与 TableB 具有一对多的关系。
hibernate - HIbernate Criteria Restrictions.in
我在使用 Restrictions.in 时遇到了 Hibernate Criteria 的问题。如果发送到限制的列表中没有任何值,那么它会抛出 SQL GrammerException,这是预期的,因为查询看起来像
select * from Person p where p.id in ()
休眠日志错误---
Spring日志错误...
导致它的代码是
我试过这样做,但它会返回表中的所有值,这与我想要的完全相反..当列表大小为 0 时不返回任何内容..
那么我应该在此处进行哪些更改,以便当列表中没有任何值而不是异常时,我不会从查询中得到任何结果......提前致谢!
java - 拦截休眠条件查询
我正在使用 Hibernate SessionFactory 从数据库中检索信息。问题是下面的“encrypted_field”数据库字段现在已加密并破坏了 SQL 查询。
这是我试图转换成 Hibernate 的旧 SQL 查询:
有没有办法在 Hibernate 中解决这个问题?我正在考虑一些 Hibernate 拦截器,它允许我在 Hibernate 将“order by”标准应用于 ResultSet 之前解密“encrypted_field”。这可能吗?
java - Hibernate:如何将此条件重写为 HQL?
我想写 HQL,在那里我会发现 Company 是否有带有某些名字的 Persons(employees)。我已经用标准做到了这一点:
现在,我希望 HQL 也一样。我正在使用命名查询,但我无法将数组或字符串列表(或任何内容)作为命名查询的参数传递。这是我的尝试,这不起作用atm。
我收到 ClassCastException
这很正常,因为我为查询参数名称指定了错误的类型。我不知道该放什么:/
测试用例以更好地理解此服务:
这意味着,“jon”或“josh”在 someCompany 工作。
感谢帮助
编辑
JB Nizet 为 service.namesInCompany 提出了代码。这里是:
grails - GORM:ilke和inList组合
在 Grails 中,使用 DynamicFinder 我们如何使用 ilike 和 inList 执行查询?或者我们可以使用 CriteriaBuilder 将 ilike 和 inList 结合起来吗?谢谢!