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

0 投票
4 回答
19393 浏览

java - 如何向 Hibernate 标准 api 查询插入“优化器提示”

我有一个使用标准 api 动态组合在一起的休眠查询。如果按原样执行,它会生成非常慢的查询。

但我注意到,如果我在查询前面加上 /*+ FIRST_ROWS(10) */,它们的速度会快 1000%。我如何使用标准 api 做到这一点?

我尝试了 criteria.setComment(..),但这似乎被忽略了。

在休眠文档中,3.4.1.7。提到了查询提示,但它明确指出:“请注意,这些不是 SQL 查询提示”

查询的结果将被分页,因此在 99% 的情况下,我将显示结果 1-10。

0 投票
2 回答
2440 浏览

database - 多标准搜索算法

问题是:我有一个巨大的(在我的水平上)mysql数据库,里面有技术产品。我的数据库中有 150k 行产品以及 10 到 20 个具有相同行数的其他表。每个表都包含很多标准。有些标准是文本值,有些是十进制的,有些只是布尔值。我想为这个数据库提供一个网络访问(php),每个标准都有过滤器,但我不知道如何快速做到这一点。我开始创建一个所有列合并以避免多重连接的大表,这很酷,比大连接快,但仍然非常慢。对所有标准进行索引,并不能改善事情(我听说这是个坏主意)。我想知道是否有一些很酷的算法可以帮助我预处理多条件搜索。任何想法 ?

提前谢谢。

0 投票
2 回答
401 浏览

oop - 比较/相交比较标准

如果已经有任何开源代码可以做到这一点,我有兴趣了解它。但我还没有看到它,所以我正在尝试自己动手。

例子:

对我来说困难的部分是找到一种优雅的方式来比较 compareCriteria 并创建一个交集。在示例中,两者之间的交集是“介于 3 和 5 之间”。

我怎样才能以“告诉不问”的方式实现这一点?请注意,compareCriteria 可以完全不相关(例如,startsWithLetter 与 betweenNumber)。

0 投票
2 回答
1538 浏览

nhibernate - NHibernate:创建适用于表上所有查询的条件

使用 Castle ActiveRecord / NHibernate:有没有一种方法可以对表上的所有查询强制使用 ICriterion?

例如,我的很多表都有一个“UserId”列。我可能想确保始终为登录用户选择行。我可以轻松地创建一个 Icriterion 对象,但我不得不为不同的方法提供它:FindAll()、FindFirst()、FindLast() 等。

有没有办法强制对 Castle ActiveRecord 的所有查询使用 WHERE 子句?

0 投票
1 回答
6463 浏览

nhibernate - NHibernate 2.1:在带有别名的子查询上左连接(ICriteria)

我基本上是在尝试使用 NHibernate ICriteria 接口创建此查询:

SomeTable 1:n 另一个表

SomeTable有列:PrimaryKey、NonAggregateColumn
AnotherTable有列:PrimaryKey、ForeignKey、AnotherNonAggregate、YetAnotherNonAggregate

很明显,使用投影子查询效率不高,因为 SQL 必须扫描表两次(每个聚合一个投影子查询)。

使用多个 GROUP BY 也不是很有效。

有解决方案吗?到目前为止,我一直在使用原始 SQL,但这对于复杂的报告来说变得很笨拙。

0 投票
1 回答
1617 浏览

asp.net - 标准构建休眠

我想知道是否有人可以帮助提供 nhibernate 的示例标准。我想我已经对相当基本的事情有所了解,比如在给定表中查找字段与某个值匹配的记录等。我目前遇到的问题是你有一个表和另一个表的外键,并且试图根据第二个表中的某个字段从第一个表中查找行。

举个例子...

如果我有

我将如何建立标准来检索属于具有特定名称的公司的所有用户?我想我了解如何构建适当的映射文件/对象,我只是不知道如何使标准与初始对象的子属性相匹配。

任何例子都会很棒。

0 投票
2 回答
497 浏览

asp.net - 有条件地创建条件休眠

假设我有一个用户表和一个国家表,例如:

并为每个适当地组织映射等。

如果我有类似 List EligibleCountries 之类的内容,如何创建查询以从国家列表中检索所有用户?

就像是:

不会工作,因为用户只在一个国家,那将检查他们是否在所有国家......

我尝试使用 Restrictions.In 但这似乎没有按我想要的方式工作。

我该怎么做才能检索用户,只要他们位于合格国家列表中的国家之一?

0 投票
2 回答
1781 浏览

nhibernate - NHibernate 查询具有子集合属性的对象

我需要有关休眠查询的帮助。如果可能的话,我更喜欢使用 Criteria API,否则 HQL 是可以的。

我有一个带有 Account 对象属性的 Employee 对象,Account 有一个 Entry 对象的集合,每个 Entry 都有一个 Amount 属性。

我需要一个查询,该查询将返回所有拥有 Entry.Amount 总和小于零的帐户的员工。

有任何想法吗?

0 投票
5 回答
9908 浏览

php - 如何将 Propel Criteria 编译为 SQL

如何编译 Propel Criteria 以清除 SQL?我试过 $criteria->toString(); 但这不是我所期望的。我也尝试过 ModelPeer::doSelectStmt($criteria) 但它返回了原始 sql(必需的参数替换)

0 投票
5 回答
2127 浏览

oop - 在这种情况下如何替换 instanceof ?

我正在尝试比较 compareCriteria。简单的,例如“between”和“inArray”或“greaterThan”。我对这些类使用多态性。他们从 compareCriteria 接口共享的一种方法是“matchCompareCriteria”。

我试图避免的是让每个类检查它们应该匹配的 compareCriteria 的类型。例如,inArray 对象将检查 matchCompareCriteria 是否传递了一个 inArray 对象,如果没有,它将返回 false,如果它知道如何比较。

也许 instanceof 在这种情况下是完全合法的(对象知道自己),但我仍在寻找可能的方法来避免它。有任何想法吗?

伪代码示例:

如果 X 和 Y 大于 Z,它将返回 true。

编辑:

1) instanceof 是我目前在 matchCompareCriteria 方法中看到的。我想摆脱它

2) matchCompareCritera 检查一个 compareCriteria 是否被另一个包含。如果一个的所有可能值都包含在另一个中,则返回 true。对于 compareCriteria 的许多组合,比较它们甚至没有意义,因此它们返回 false(例如 betweenAlfa 和 betweenNum 将不兼容)。