问题标签 [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.

0 投票
1 回答
1647 浏览

c# - Nhibernate 在一个表上加入两次

考虑以下类结构......

我想使用 NHibernate急切地加载类 ListViewControl。使用 Fluent 的映射如下图

这就是我试图急切地加载它的方式

现在,我的问题是该类在和ListViewControl中都获得了正确的记录,但是同一记录有多个条目。记录数等于对表进行的连接数,在本例中为两个。ActionsListViewActionsControlAction

我怎样才能避免这种情况?如果我SetFetchModelistViews查询中删除,操作会通过我不想要的代理延迟加载。

我还尝试创建别名...

这删除了重复的条目,但没有急切地加载

0 投票
2 回答
234 浏览

c# - NHierate 查询中的基本日期/时间操作

我正在尝试使用一些基本的日期/时间操作来限制我的NHibernate查询。更具体地说,我想执行以下语句(伪 SQL):

和:

  • created_on映射到类型的属性DateTime
  • lifespan映射到类型的属性TimeSpan
  • sysdate是当前日期/时间(数据库服务器或应用程序主机的,我不在乎)

有没有使用Criteria-APIHQL的内置方法?

0 投票
1 回答
1443 浏览

c# - NHibernate 查询

是否可以让 NHibernate 使用 HQL 或 Criteria API 生成类似于以下内容的查询?

我可以让它使用公式属性执行内部选择,但我想不出一种方法来编写 HQL 或标准查询,让我将内部选择包装在外部选择中。

0 投票
1 回答
2688 浏览

hibernate - Hibernate Criteria API:在 Map 中使用结果进行计数和分组

Car实体映射到具有 2 列的数据库表:IDColor

CarDao有以下方法:

如果我们在数据库表中有 3 辆红色汽车和 2 辆蓝色汽车,则该方法返回一个带有 2 个键(红色和蓝色)和相应计数(3 和 2)的地图。

我想用 Criteria API 来做到这一点。该方法会是什么样子?让我担心的是地图部分。

谢谢。

0 投票
0 回答
1057 浏览

nhibernate - NHibernate:过滤包含连接的子集合

我有以下映射文件:

和:

和以下标准 API:

为延迟检索服务生成的 sql 如下所示:

其中服务器 ID 和日期是示例。问题是为过滤器生成的 sql 使用了错误的表别名,应该是这样的:

我究竟做错了什么?有一个更好的方法吗?

0 投票
2 回答
4929 浏览

java - JPA 2 Criteria API:为什么 isNull 与 equal 结合使用时会被忽略?

我有以下实体类(继承自 PersistentObjectSupport 类的 ID):

如果我使用 Criteria API 执行以下查询:

我在日志中打印了以下 SQL:

但是,如果我将前面代码中的 where() 行更改为这一行:

我得到以下 SQL:

也就是说,完全忽略 isNull 标准。就好像它甚至不存在(如果我只提供与 where() 方法相同的标准,我会得到相同的 SQL 打印)。

这是为什么?这是一个错误还是我错过了什么?

0 投票
1 回答
1364 浏览

sql-server - nhibernate 多条件 CTE 子查询

我目前有一个 MultiCriteria 查询,它根据子查询中的 id 过滤结果

Subqueries.PropertyIn("Id", detachedCriteria)

对于多条件查询中使用的所有查询,子查询都是相同的。

看着重复子查询的 sql 似乎有点难看,在我目前的情况下是 15 次。

单独查询的原因是每个查询都有不同的连接,并且不想要一个大规模的笛卡尔连接。

如果我手动编写 sql,我会将重复的子查询提取到公共表表达式中

然后子查询将是 15 个查询中 XYZ 中的 where id。

这有点特定于 sql server,替代方法是临时表或其他数据库特定功能。

关于如何改进查询的任何想法,或者我是否坚持重复的子查询?

0 投票
6 回答
16967 浏览

hibernate - EntityManager.find 找不到实体,但使用 Criteria API 可以

我在 Java EE 6 中遇到了一个相当奇怪的情况,其中使用 JPA EntityManager 的find方法以及实体的主 ID 返回 null,但使用 Criteria API 选择具有该 ID 的所有实体工作正常。

这是我使用的代码find

...这是我与 Criteria API 一起使用的代码:

知道为什么find返回 null 但 Criteria 找到了用户吗?我在程序的完全相同的位置尝试了这两种替代方法。

以下是用户实体的相关部分:

0 投票
1 回答
291 浏览

c# - 反向 LIKE 的 nHibernate 标准

我有以下两个实体:

公共类 Entity1 { 公共 IList e2 { 获取;放; } }

公共类 Entity2 { 公共字符串标题 { 获取;放; } }

我只有 Entity1 的存储库,我知道我可以使用以下条件进行 LIKE 查询:

criteria.CreateAlias("e2", "e1e2").Add(Restrictions.LIKE("Title", "needle", Match.Anywhere);

但我需要反向搜索:

Restrictions.LIKE("needle", "Title", Match.Anywhere)

我该怎么做?

0 投票
1 回答
12177 浏览

java - 如何使用 JPA Criteria API 在左连接上指定多个条件?

我想转换以下 SQL 查询:

进入基于 JPA Criteria 的查询。

我创建了一个实体来表示自联接:

我使用以下代码创建 JPA 查询

这是我运行这段代码时 Hibernate 自动生成的查询。

我尝试了多种方法,包括删除cq.where代码行,但生成的查询与我原来的查询不匹配。我配置错了吗?