问题标签 [query-by-example]

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 投票
2 回答
643 浏览

nhibernate - 是否有关于 NHibernate 通过示例功能进行查询的良好文档?

我试图找到一个好的文档,它准确地说明了示例查询能够做什么,不能做什么。

特别是,我想知道,示例查询是否支持如下搜索:我想获取所有具有特定名称的位置的人员。

最好的问候,
奥利弗·哈纳皮

0 投票
1 回答
757 浏览

java - 有没有简单的方法在 iBATIS 中进行示例查询?

我曾希望这已融入最新版本,但如果是,我无法通过简单的 Google 搜索找到文档。如果做不到这一点,我更喜欢一个简单的库,但我会接受一个教程。

谢谢。

0 投票
1 回答
1561 浏览

.net - NHibernate - 示例查询 - 子查询

我知道有很多方法可以在 NHibernate 中实现以下目标——我对其他场景不感兴趣。我想知道是否可以使用 NHibernate 中的多对一关系和示例查询自动生成子查询。

我的设置如下:

我的映射如下所示:

一个简单的 QBE 会给 FirstName 和/或 LastName 一个值,并返回一个 IList,其中包含具有该名字和/或姓氏的客户。

我想做的是将订单添加到 CustomerOrders 列表,从而产生如下查询:

在上面的示例中,OrderName 和 OrderNumber 是 Order 类的属性(为简洁起见,我没有包含此类)。有谁知道这是否可能?如果我需要澄清我的问题,请告诉我。本质上,我能够填充原始值并将它们包含在 QBE 中。我可以对集合做同样的事情吗?

0 投票
4 回答
6180 浏览

java - HibernateTemplate findByExample 不返回任何结果

我正在尝试使用 Hibernate QBE(实际上是 Spring 的 HibernateTemplate.findByExample() )按用户名返回用户列表。我使用“已知良好”值进行搜索(用户名“JOHN.SMITH”确实存在于数据库中)。

不幸的是,我没有得到任何结果。下面是单元测试。

queryByExample() 方法在通用 DAO 中定义:

QBE 是否需要任何特殊配置才能工作?

0 投票
2 回答
2625 浏览

mysql - MYSQL 示例查询(QBE)

我真的不明白这个

QBE

意思是..我已经搜索过,但我无法理解这个词..

我的客户需要

使用 QBE 生成报告

据我所知,这是REGEXP搜索但不清楚,

谁能有更好的例子来理解这一点。请与我分享谢谢!

0 投票
2 回答
1413 浏览

c# - NHibernate QueryByExample 仅包括某些属性

我创建了一个自定义属性选择器来接受构造函数中的一个数组,以说明哪些属性应该包含在搜索中。只要没有组件类型,该方法就可以很好地工作,但是我该如何处理呢?这是一个例子:

我希望能够按名字搜索,但不一定是最后一个。然而,属性名称是 Name,因此名字和姓氏似乎都是同一个属性的一部分,而像 Name.Firstname 这样通常用作标准的东西似乎在这里不起作用。最好的解决方法是什么?

例子:

鉴于 db 中有 2 个客户,只有一个名为“Owen”,但两者都有isPreferred = false,我希望我的查询只返回第一个。标准 QBE 将根据isPreferred属性返回两者。

解决方案:

感谢您的回答,该解决方案主要基于 therealmitchconnors 的回答,但是如果没有 Mark Perry 的回答,我也无法做到。

诀窍是要意识到Name.FirstName我实际上想要排除而不是包含属性,Name.LastName因为 QBE 只允许我们排除属性。我使用了一种改编自 therealmitchconnors 答案的方法来帮助我确定属性的完全限定名称。这是工作代码:

我不确定确定属性是否为组件类的最佳方法,非常欢迎任何有关如何改进代码的建议。

0 投票
2 回答
1366 浏览

java - 如何保护 Hibernate QBE 查询

目前,我知道四种使用hibernate进行事务:

  1. 使用对象
  2. 使用 HQL
  3. 使用特定于数据库的 SQL
  4. 使用标准 (QBE)

好吧,关于它们对注射的抵抗力有多强,我认为这些是(如果我错了,请纠正我):

  1. 安全,因为内部 SQL 调用是参数化的。
  2. 如果查询是参数化的,则安全,否则不安全。
  3. 与#2 相同,但不便携。
  4. 不安全?

我的问题是关于#4,Query by Example,因为我发现它也很容易受到攻击。例子:

该片段选择整个帐户表。有什么方法可以防止注射吗?如何?

注意:我使用的是 Hibernate 3.6.5 final,测试数据库是 HSQLDB。

更新:对我来说似乎也是一个错误,实际上可能与注入的 SQL 无关。尝试使用不存在的值设置 id 并返回所有行。尝试使用 '5'='5' 而不是 '1'='1' 进行注入,并且 5 不会传播到 SQL 调用。它继续使用 (1=1) 作为 where 子句。

更新 2:已解决。请参阅下面的答案。

0 投票
1 回答
527 浏览

nhibernate - 使用 NHibernate Query-By-Example 混合喜欢和等于?

我有一个相当大的 SOA 解决方案和一个新添加的服务,使用 NHibernate 的 Query By Example 查询大约 980 万条记录。到目前为止,性能一直很糟糕,数据库上的配置文件将查询显示为:

所以,基本上是因为我的代码看起来像:

NHib 到处都在使用 like 运算符,我得到了它,因为这就是我设置它的方式。但是是否可以将某些字段设置为相同而某些字段设置为相等?我需要 Zip5 是平等的并且状态是平等的......但其余的可以是 LIKE。

还是我只是毁了 QBE,所以我还不如使用常规的旧标准?

0 投票
1 回答
1982 浏览

java - Hibernate:通过示例查询涉及一对多关系

我最近开始使用 Criteria API 的示例组件进行查询,并遇到了一个奇怪的问题 - 尝试执行搜索时抛出 org.hibernate.QueryException。

我的场景如下:

我有一个 A 类,作为它的一个属性,它有一组 B 类实例 (Set<B> listOfBs)。这被映射为 A 中的一对多关系。

我希望在 B 的示例实例上设置条件查询,例如指定属性值为“somevalue”的所有 B,然后应用该条件来查找在其集合中具有此类 B 的所有 A。这是我正在使用(或希望)的代码:

我正在使用 XML 映射,A 将它与 B 的关系映射如下(A.hbm.xml):

我意识到这可能不是正确的方法 - 欢迎任何更好的建议。无论如何,问题在于我得到了一个例外:

org.hibernate.QueryException:无法解析属性:_com of:B

我已经搜索并意识到异常告诉我什么。但是,在我的任何类中都没有声明这样的属性名称——在我看来,这可能是 Hibernate 在后台使用的任何工具的一部分,以使持久性看起来透明。

我很好奇这是否是一个已知问题,是否有人们使用过的解决方法,或者可能是较新版本中的解决方案?我正在使用休眠 3.6.6。

任何建议/经验将不胜感激。

谢谢!

0 投票
1 回答
647 浏览

c# - NHibernate Criteria QueryByExample 在中间卡住了 SQL

我正在使用 Criteria 来加快查询速度,而且我快到了。

使用 Query By Example 匹配表中的行,删除具有相同 id 的重复行,然后进行分页。

当然,在删除重复的行之前,我无法进行分页,而且我不知道该怎么做。它可以在 SQL 中完成,但它确实适合流畅的代码,ISQLQuery 不返回 ICriteria 对象。

我读过的建议是在 NHibernate 中编写 SQL 查询,但我想不出如何转换漂亮的“ROW_NUMBER() over partition SQL”。我想让它首先端到端地工作,然后让它更优雅。

我想将这个峰值投入生产并证明大约 90% 的速度。