问题标签 [createcriteria]

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 回答
1339 浏览

groovy - 无法使用具有 createCriteria() 语句的函数执行单元测试

我想编写一个单元测试(通过 JUnit)来测试这个函数在 Groovy 中的值:

但是阅读此语句时单元测试总是失败: List names = People.createCriteria().list{...} groovy.lang.MissingMethodException: No signature of method: People.createCriteria() is applicable for argument types: ()值:[]。我猜是因为调用了执行一些数据库连接和查询的函数?你能帮我写这个测试吗?非常感谢!

0 投票
1 回答
6218 浏览

java - 我可以使用 Hibernate“createCriteria()”选择特定列吗?

我使用createCriteria()setFetchMode()方法来加入和选择。我不需要所有的列,所以我想选择特定的列来提高性能,但我找不到如何去做。也许我应该改用 HQL?

0 投票
2 回答
2692 浏览

grails - 我在 createCriteria 中遇到投影问题

我面临着从这个关闭中获得所需结果的问题

我想在我的 gsp 页面上显示此列表,并希望使用别名访问值(而上述条件返回数组列表)

0 投票
2 回答
2902 浏览

list - 具有一对多关系的 GORM createCriteria

几个小时后,我试图弄清楚如何使用一种必须在列表中的标准来创建标准。

如果我减少我的代码,我有以下两个域类:

酒店- 我要检索的基域类:

HotelAmenity - 酒店有一系列设施。

#1我的第一种方法是这样的:

这行得通。但在这种情况下,我得到的每家酒店都至少包含一个指定的敌意。但我想要的目标是检索仅具有所有指定设施的酒店。

#2所以我尝试了以下

但是这段代码看起来像是弄乱​​了结果集,因为如果定义了多个便利设施,它总是返回一个空列表。顺便说一句,在这种单一便利设施的情况下,我的结果列表中包含的所有酒店都不会在其便利设施列表中包含任何其他便利设施,而是我搜索的那个 - 即使其中很多都已分配。我完全不理解这种行为。

#3我尝试的另一种方法是使用listDistinct而不是list. 但是,一旦我认识到我没有得到一个返回PagedResultList的列表,我就没有再尝试这个了hotel domain objects。所以我不会有totalCount参数(我的分页功能需要它)

因此,我在编写自己的查询和/或使用 GORM 方法解决此问题之间陷入困境。也可能是我对这应该如何工作感到有些困惑。

对于任何通知或解决方案,我将非常高兴。

谢谢,克里斯托弗

PS:我使用 Grails 版本 1.3.7

PPS:如果缺少任何信息,请告诉我。

编辑

这是我现在提供的解决方案:

0 投票
3 回答
5574 浏览

grails - 使用 hasmany 字符串查询 Grails / GORM 条件

我有一个像这样的域对象(猫):

(猫有名字,也有很多昵称(都是字符串))

我正在尝试查询所有具有某些昵称的猫。

我试过这个:

但它从不返回任何结果。(如果我将查询更改为只使用简单的名称属性,它可以查找所有具有该名称的猫,但我想查询昵称。)

我也试过这个:

但我得到了错误:org.hibernate.MappingException:集合不是关联:example.Cat.nicknames

所以问题是,我如何查询字符串类型的 hasMany?

0 投票
3 回答
6830 浏览

nhibernate - nhibernate CreateCriteria 通配符 Like when

在 SQL 中我可以写

SELECT blah FROM Clients Where @p1 Like '%'+lastname+'%'

我如何在 Nhibernate 中使用 CreateCriteria 来表示这一点?

我试过了 s.CreateCriteria<Client>.Add(Restrictions.Where<Client>(c => "something".Contains(c.LastName))

但得到一个错误

System.Exception:无法识别的方法调用:System.String:Boolean Contains(System.String)\r\n 在 NHibernate.Impl.ExpressionProcessor.ProcessCustomMethodCall(MethodCallExpression methodCallExpression)

我也试过

s.CreateCriteria<Client>.Add(Restrictions.Where<Client>(c => "something".IndexOf(c.LastName) != -1))

但得到

“从范围''引用'TrinityFinance.Data.Entities.Client'类型的变量'c',但未定义”

注意这里的顺序很重要。

@p1 Like '%'+lastname+'%'

不一样

lastname Like '%'+@p1+'%'

0 投票
1 回答
3358 浏览

hibernate - Hibernate Create Criteria里面可以有if条件吗?

我正在使用HibernateCriteriaBuilderapi 编写我的标准查询。我想知道里面Criteria是否可以有条件逻辑,比如if语句?

例如:

这是有效的吗?

0 投票
1 回答
2110 浏览

grails - grails createCriteria我如何循环限制

我可以做这个:

但是我如何为未知数量的字符串值做呢?我想做类似的事情:

但它当然行不通。

0 投票
3 回答
7156 浏览

hibernate - 带有条件的 Grails 查询:如何取回带有列的地图?

是否可以使用标准查询 grails 并接收地图列表而不是列表列表?我想在结果中包含列名,以便使用“关联数组”而不是数字数组偏移量。我目前正在做类似的事情

这导致[[123, app.User:1][111, app.User:2][...]...],即列表列表。我宁愿想要类似的东西[[posts:123, author: app.User:1][posts: 111, author app.User:2][...]...]

一如既往:非常感谢您的帮助!

0 投票
3 回答
557 浏览

nhibernate - NHibernate 查询集合

我有一个用户和角色表。一个用户可以有多个角色。

我想抓住所有没有特定角色的用户。问题是如果一个用户有 2 个角色,一个是我们不想要的角色,用户仍然会被返回。

我想出的唯一解决方案是客户端

有人知道更好的解决方案吗?谢谢!