问题标签 [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.
java - 使用 JPA2 Criteria API 查询字符串子集
我正在从 Hibernate Criteria API 升级到 JPA2 Criteria API,并且遇到了以下问题,我似乎无法解决。
在 Hibernate Criteria 中,我使用 Restrictions.sqlRestriction 检查特定类型的字符串子集:
这实质上检查N
输入字符串的第一个字母是否与N
字母长的 location_key 匹配。那就是输入字符串Canada,ON
应该与类似的东西匹配:Canada
或Can
或C
。
The problem is that JPA2 doesn't allow us to code native sql like that, and I'm not sure how I can achieve something similar without the left
function (which I think might be mysql specific).
Any help is appreciated!
jpa-2.0 - JPA 2 没有明确的选择和隐含的一冷未确定
我正在尝试获取在某个日期之后创建用户的文件夹的所有用户。用户和文件夹之间的关系存在于单独的表中。
这是我提出的查询,但它引发了异常
没有明确的选择和隐含的一冷未定
编码
任何人都知道为什么这不起作用?
jpa - 在 JPA2 标准中选择 ...
有没有办法使用 JPA2 标准 API 执行如下查询?
有一种方法可以使用普通的 Hibernate 来做到这一点,但我们在 JPA2 中找不到类似的东西。
jpa-2.0 - 使用 JPA 2 Criteria API 加入特定的 ON 子句
是否可以使用 JPA 2 Criteria API 执行以下查询之一?基本上,配置文件使用了许多模板。系统中的每个用户都有任意数量的配置文件和两个活动的配置文件。我想获取所有模板以及拥有使用它的活动配置文件的用户数量。
备选方案 1
备选方案 2
如果我跳过获取所有模板的要求,我可以简单地使用用户和配置文件作为根,以下就足够了:
但是要获得所有模板,我相信我不能使用 WHERE 子句,但需要像第一个查询一样使用外连接。但是,备选方案 1 似乎是不可能的,因为您无法为连接设置特定的 ON 子句,备选方案 2 似乎是不可能的,因为 User 和 Template 都需要同时为 Root。要获取所有模板,我需要使用 Template 作为 root,并将其与 Profile 连接。这很顺利,但我无法将配置文件与用户一起加入,因为 ON 参数存储在用户而不是配置文件中。据我所知,您不能在存储在第二个表中的参数上将一个表与另一个表连接起来。
该任务当然可以通过迂回的方式解决,例如执行第二个查询,选择所有模板并将其与第一个查询的结果合并,但如果可以在单个查询中完成,那将创建更清晰的代码。
nhibernate - 如何使用 NHibernate Criteria 过滤集合?
我知道您可以在 NHibernate 中使用过滤器来仅加载部分子集合。我希望能够使用 Criteria API 而不是 HQL 来做到这一点。这可能吗?
我的应用程序中的一些细节:我正在尝试加载在给定日期之后发生的给定供应商的发票,并且有正面的行项目。
实体看起来像这样:
最初,我只是拉订单项,但现在他们希望用户能够输入一堆标准来选择供应商。我已经有了允许用户使用 Criteria API 指定供应商的 UI/代码,所以我想应用一个过滤器来仅提取在给定日期之后发生的发票为正的 LineItems。这可以使用 Criteria API 吗?如果没有,我至少可以在不将过滤器定义添加到我的映射文件的情况下逃脱吗?
c# - 让 nhibernate 加入多对多关系
我有以下情况我被卡住了。我有一个名为 ContactAssociation 的实体,它具有(除其他外)属性客户端和联系人。我必须为满足某些条件的客户获取所有联系人。条件是:每个 Client 都有属性 BusinessEntities,它是 BusinessEntity 的集合,每个 BusinessEntity 都有一个 BusinessLevel。这是代码,我相信会让这更容易理解:
好的,所以我写了这样的东西,我一直收到一个错误,即找不到属性 BuLevel.LevelNo 但它在模型中
我尝试了标准,但我看到了相同的错误,只是它出现在 NHProfiler 而不是 Visual Studio 中,并且 Visual Studio 中有一个更神秘的错误。无论如何......我最终用 sql 查询解决了这个问题,但是我应该如何编写 QueryOver 和/或 Criteria 以获得正确的结果?
先感谢您
附言
这是我的 SQL 查询:
grails - 连接表上的 Grails 标准投影
我对 grails 标准构建器有疑问,我想对与父表示例一对多关系的表上的列进行投影:
或类似的东西存在?我认为这是别名的基本问题
c# - NHibernate 实体投影
我使用 NHibernate 和 QueryOver API 来查询我的域实体。问题是得到重复的结果。例如在查询以下域时:
我使用如下代码:
生成的 SQL 将如下所示:
这里的问题是左连接完成后,结果记录集有超过 5 行。然后TOP
函数应用并削减结果。因此,例如,如果第一篇文章有 5 条评论,我会得到这篇文章 5 次,不会得到其他人。
我知道它为什么会发生,并找到了一篇关于它的好帖子。但是是否有一个投影会告诉 nhibernate 只Post
从实体中选择列而不从实体中添加列Comment
?也许应该使用其他方法(不是 JoinQueryOver)?
java - 使用 Hibernate 和 Criteria 选择最常见的值
给定一张桌子,说:
我有一个Order
对象,它有一个Type
对象 (在另一个方向Type
有一个Set
of Order
s 。
我将如何使用 Hibernate 的 Criteria API检索最流行Type
的(在本例中为类型 1)?Order
hibernate - 休眠条件中的选择语句
我想在休眠条件下进行以下查询
SELECT * FROM ORDERS O, PRODUCT P WHERE O.ORDER_ID=P.ORDER_ID and order.orderName='xyz';
感谢您的帮助