问题标签 [hibernate-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.
sql - 在 Hibernate 中结合 NamedQuery 和 Criteria
我在 storefinder 应用程序中使用 Hibernate。对于 SQL 中的邻近搜索,我使用 hasrsine 公式。因为这是一个有点混乱的 SQL,我为此在我的 .hbm.xml 文件中创建了一个命名的 SQL 查询。
但我也有一个用户定义的过滤器(营业时间、分类等)。为此,我使用 Hibernate 标准以编程方式添加过滤器。
现在我有一个完美运行的 NamedQuery,它为我提供了某个点周围的所有位置,以及一个完美运行的标准查询,它根据某个过滤器为我提供了所有位置。
我的问题是:在 Hibernate 中结合这两种野兽的最佳方式是什么?(即,我需要满足某个过滤器的某个点周围的所有位置。)例如,有什么方法可以将 NamedQuery 用作条件搜索中的子查询?
hibernate - Grails (Hibernate) 条件查询
我的 Grails 应用程序中有一个域类,如下所示:
我想编写一个条件查询,选择某年某月发生的事件,有什么建议吗?
谢谢,唐
hibernate - Groovy 条件查询
我有一个看起来像这样的域模型
或者用英文“一个费用有一个类型,每个类型都属于一个类别”。我想编写一个 Criteria 查询来查找特定类别中的所有费用。我试过这两个
和这个
但是它们都不起作用,我错过了什么?
更新
我被要求显示域类,所以它们是:
hibernate - 从休眠查询返回的空列表,带有嵌入的 id
我有一个带有嵌入式密钥的实体。实体只有key作为字段,key有7个字段,其中一些可以为null。
当我运行以下查询时:
我得到了正确数量的结果,但每个结果都是空的(即我得到了一个包含 4000 个空对象的列表)。我尝试过同时使用 HQL 查询和条件,但它们都给出了相同的结果。
映射类是从现有数据库生成的。
查询生成的SQL如下
看起来它应该返回正确的数据。
映射文件非常简单(并且从模式生成:
grails - 无法创建包含 belongsTo 关系的 grails Criteria 查询
我一直在尝试创建一个包含 belongsTo 关系的标准构建器,但尚未成功。考虑以下模型:
我正在尝试进行以下查询:
我得到的只是以下错误
我尝试向标准查询添加不同的小补充,例如:
但仍然遇到同样的问题。
我什至尝试将以下静态映射添加到 Msg 类:
还是行不通。
有没有办法使用包含 belongsTo 查询的标准构建器?
提前感谢您的帮助。
吕西安
hibernate - 休眠条件 api '选择在'
是否可以使用 hibernate critiria api 创建一个“选择输入”查询?
示例:我在 1:n 关系中有两个表,公司和部门
hibernate - 按实体分组时防止休眠 N+1 选择
我有一个由此构建的 Hibernate Criteria 对象:
这为我产生了正确的结果,但“observedSubject”属性是一个实体。当我将 set show_sql 设置为 true 时,我看到在第一个查询(返回 18 行)之后,有 18 个选择来获取observedSubject 实体。我试过了:
但这没有用。作为一种在黑暗中的刺,我试过:
但这也不起作用。有什么办法可以防止这种行为?
performance - Hibernate Criteria vs HQL:哪个更快?
我一直在阅读一些答案,但我仍然感到困惑。为什么?因为您提到的差异与性能无关。它们与易于使用有关。(Objetc(标准)和 SQL(hql))。但我想知道“标准”是否由于某种原因比 hql 慢。
我在另一个答案中读到了这个
“HQL 和条件查询之间的性能存在差异,每次使用条件查询触发查询时,它都会为表名创建一个新别名,该别名不会反映在任何数据库的最后查询缓存中。这会导致开销编译生成的 SQL,需要更多时间来执行。” 通过瓦伦梅塔。
这是非常接近的但是!我在另一个网站上阅读(http://gary-rowe.com/agilestack/tag/hibernate/)Hibernate 3.3 及更高版本不再是这种情况(请阅读:9)Hibernate 很慢,因为生成的 SQL Criteria接口不一致)
我做了一些测试,试图找出差异,但两者都生成 qry,并且不会更改表的别名。
我很困惑。如果有人知道主要原因,请帮助我们。谢谢
java - JPA2:不区分大小写,例如在任何地方匹配
我一直在 JPA 1.0(休眠驱动程序)中使用休眠限制。定义Restrictions.ilike("column","keyword", MatchMode.ANYWHERE)
了哪些测试关键字是否与任何地方的列匹配并且不区分大小写。
现在,我使用 JPA 2.0 和 EclipseLink 作为驱动程序,所以我必须使用“限制”内置 JPA 2.0。我找到了CriteriaBuilder
方法like
,我也找到了如何让它在任何地方匹配(虽然它很可怕而且手动),但我仍然没有弄清楚如何做到不区分大小写。
我目前有一个很棒的解决方案:
问题:
有没有像 Hibernate 驱动程序中的任何功能?
我是否正确使用了 JPA 2.0 标准?与 Hibernate Restrictions 相比,这是一种尴尬且不舒服的解决方案。
或者任何人都可以帮助我如何将我的解决方案更改为不区分大小写,好吗?
非常感谢。
hibernate - Hibernate 不支持访问用户类型上的字段以获取投影标准?
我的课程:
我也有一个正确设置的 AccountTypeUserType。
我的查询:
我遇到的问题是我的查询失败了......
哦,你也不能 .createAlias("accountType", "at") 因为 accountType 不是一个关联。
有什么想法吗?