2

如何在休眠中创建此查询:

SELECT * FROM `entity` WHERE length(word) > 2 and length(word) < 6;

我试过这个,但失败了..

- List<Criterion> criterions = new ArrayList<>();
- criterions.add(Restrictions.sizeGt("word", 2));
- criterions.add(Restrictions.sizeGt("word", 6));
4

2 回答 2

0

这个问题有 5 年历史,有 1k 次浏览,没有正确答案?

原始海报提供的代码示例不正确。

要具有值长度限制length(word) < 6,您必须使用sizeLt

List<Criterion> criterions = new ArrayList<>();
criterions.add(Restrictions.sizeGt("word", 2));
criterions.add(Restrictions.sizeLt("word", 6));
于 2020-12-18T17:51:08.193 回答
-4

最简单的 Hibernate 查询形式如下:

from eg.Cat

这将返回类的所有实例eg.Cat。您通常不需要限定类名,因为自动导入是默认设置。例如:

from Cat

为了在查询的其他部分引用 Cat,您需要分配一个别名。例如:

from Cat as cat

此查询将别名 cat 分配给 Cat 实例,因此您可以稍后在查询中使用该别名。as 关键字是可选的。你也可以写:

from Cat cat

可以出现多个类,从而产生笛卡尔积或“交叉”连接。

from Formula, Parameter

from Formula as form, Parameter as param

使用首字母小写来命名查询别名是一种很好的做法,因为这与局部变量的 Java 命名标准(例如,domesticCat)是一致的。

于 2015-04-03T09:44:14.283 回答