问题标签 [criteria-api]
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 API - 如何按集合大小排序?
假设我有类用户和用户组。有一个可选的 1-many group 到用户关联,并且关联从双方映射(UserGroup 侧通过名为“members”的属性,这是一个 HashSet,User 侧通过属性“group”)。
使用 Criteria API,我如何查询所有组,按组成员数排序?
(编辑)当我问这个问题时,我应该指出分页是在 SQL 中执行的,所以如果可能的话,排序也应该在 SQL 中执行。
c# - 使用 NHibernate Criteria API 选择特定的数据集和计数
我为 NHibernate 的持久性设置了以下域:
我使用 PaperConfiguration 作为根聚合。
我想为给定的 Tier 和 AcademicYearConfiguration 选择所有 PaperConfiguration 对象。根据以下示例,这非常有效:
(也许有更好的方法来做到这一点)。
然而,还需要知道每个 PaperConfiguration 有多少 ReferenceMaterials,我想在同一个调用中得到它。避免 HQL - 我已经有一个 HQL 解决方案。
我知道这就是预测的目的,这个问题提出了一个想法,但我无法让它发挥作用。
我有一个 PaperConfigurationView ,而不是IList<ReferenceMaterial> ReferenceMaterials
ReferenceMaterialCount 并且正在考虑
不幸的是,这不起作用。我究竟做错了什么?
以下简化查询:
创建了这个相当出乎意料的 SQL:
上述查询因 ADO.NET 错误而失败,因为它显然不是正确的 SQL,因为它缺少 group by 或计数为 count(referencem1_.Id) 而不是 (this_.Id)。
NHibernate 映射:
nhibernate - NHibernate Criteria using Projections for Substring with in 子句
我在 Oracle 中有一个场景,我需要将列的子字符串部分与值列表匹配。我正在使用 sqlfunction 投影在所需列上应用子字符串,并将该投影添加为 In 子句限制的一部分。以下是我为此编写的简化标准。
我遇到的问题是生成的 SQL 是错误的,其中为语句注册的参数数量超过了语句实际使用的数量,并且即使未使用某些参数也会重复。这会导致语句失败并显示消息 - ORA-01036:非法变量名称/编号。生成的查询
p2 和 p3 再次生成并且是 p0, p1 的副本,因此整个查询都失败了。
我可以通过用公式映射新属性来临时解决这个问题,但我认为这不是正确的方法,因为即使我不需要评估子字符串,公式也会始终执行。
关于与 In 子句组合使用时投影是否正常工作的任何建议,当我使用 Equal Restriction 而不是 In 时,相同的投影工作正常。
java - 使用 Hibernate Criteria API 查询具有投影的多对一关系
我正在尝试在以下场景中使用 Criteria API:
- 我有两个表,
Schedule
并且Route
(带有它们的类和映射)。 Route
与 具有多对一关系Schedule
。Route
有一个整数属性sequence
。
现在我需要获取所有关联的 Route 对象满足以下条件的 Schedule 对象:
我已经尝试了以下标准代码:
但它会生成以下 sql:
并抛出以下错误:
如果您有任何建议,请帮助我。
nhibernate - NHibernate:如何使用 Criteria API 排除属于连接的一部分的类
我仍然是 Hibernate 的新手,并且正在尝试将它用于我继承的网站。不幸的是,这意味着有时数据库模式并不总是有意义。
话虽如此,我正在尝试使用 Criteria API 构建以下 HQL 查询
上面的 HQL 语句生成 SQL,它将仅选择并返回 TableB,这正是我想要发生的。但是,使用如下所示的 Critera API 语句,生成的 SQL 语句会选择 TableB 和 TableA 的字段。
在一个完美的世界中,我可以更新数据库模式以使其更有意义,但可惜我不能。对此的任何帮助将不胜感激。
java - 将包含 elements() 的 HQL 查询转换为 Criteria API
我在将以下 HQL 查询转换为 Criteria API 时遇到问题,我想知道是否可以从你们那里得到一些帮助
换句话说,我想在 id 等于 ? 的 Bar 实例中获取 Bar 引用的所有 Foos。
编辑:请注意,我在实体之间没有双向关系,因此 Foo 不知道哪些 Bars 引用了它。其次,从 Bar 到 Foo 的引用是 ManyToMany 类型。
nhibernate - NHibernate 投影:如何使用带有投影的 Criteria API 获取类型化类型
如何获得 List<ProductRow> 类型的结果?
我看到有一个函数 Projection.Cast,但我没有看到任何关于如何使用它的文档。
nhibernate - 子集合中的 setfirstresult 和 setmaxresult
我有和实体让我们称之为它Entity
,和一个Child
集合Children
。我有一个用户拥有Entity
信息的屏幕和一个包含集合的列表Children
,但是该集合可能会变得非常大,所以我正在考虑使用分页:获取前 20 个元素,只有在用户使用时才延迟加载下一个明确按下下一个按钮。
所以我在实体存储库中创建了一个带有这个签名的函数:
我需要使用 setfirstresult 和 setmaxresult,而不是在聚合根实体中,而是在子集合中。但是当我使用这两种配置时,它们总是引用 HQL/Criteria 查询的实体类型。
其他替代方法是为该Child
类型创建一个 HQL/Criteria 查询,设置最大值和第一个结果,然后过滤实体子集合中的那些(通过使用子查询)。但我无法做这个过滤器。如果它是双向关联(子引用父实体)会更容易。
有什么建议么?
任何
sql - 仅从连接表中选择列而不需要连接
鉴于这些表:
是否可以使用 HQL/标准 API 来构建一个查询,该查询会产生以下 SQL:
我已经尝试了这两种方法:
但是这两种方法都坚持生成一个连接(或者在使用条件时因为连接不存在而失败),导致 SQL 如下:
有没有办法让 NHibernate 生成一个查询,只从连接表中选择列,而不需要连接?
java - 使用 Criteria API 的动态 JPA 2.0 查询
我有点卡住了使用 JPA 2.0 的 CriteriaBuilder 构建动态查询。
我猜我有一个很常见的用例:用户提供任意数量的搜索参数 X 来连接和/或连接:比如:
CriteriaBuilder 的 Method or 不是动态的:
谓词或(谓词...限制)
想法?样品?