Hibernate Criteria API 中 Restrictions.like 和 .ilike 的区别 | 您所在的位置:网站首页 › like和Ilike有什么区别 › Hibernate Criteria API 中 Restrictions.like 和 .ilike 的区别 |
Hibernate Criteria API 中 Restrictions.like 和 .ilike 的区别
Hibernate 的 Criteria API 具有 Restrictions.ilike 函数,该函数具有以下协定: 不区分大小写的“like”,类似于 Postgres ilike 运算符 这很酷。但是同一个类也有 like 功能,合同更加模糊: 对命名属性应用“like”约束 例子 Criteria cr = session.createCriteria(Employee.class); // To get records having fistName starting with zara cr.add(Restrictions.like("firstName", "zara%")); // Case sensitive form of the above restriction. cr.add(Restrictions.ilike("firstName", "zara%")); java 推荐答案在 MySQL 中,like 运算符的大小写敏感性取决于列的类型及其排序规则(参见 http://dev.mysql.com/doc/refman/5.5/en/case-sensitive.html)。 Hibernate 只是 SQL 之上的一层。like 运算符的约定是发出一个 SQL like 运算符。如果您希望 MySQL 和 PostgreSQL 相同,请在数据库模式中选择正确的类型和排序规则。但是 Hibernate 不能神奇地让所有数据库都使用相同的规则。 设计您的应用程序,选择和设计您的数据库,以便您观察到的行为是您期望的行为。 PS:但我同意 Hibernate 的 javadoc 是......完美的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |