![](/img/trans.png)
[英]Is there something like Restrictions.eq(true, false) in Criteria API?
[英]Hibernate Criteria Restrictions.eq is case insensitive
我正在使用标准来检查json中的用户名和密码是否正确。 我确定输入的用户名和密码使用正确的大小写,但是即使字母大小写不同,它也始终会返回对象。
public Admin getLoggedAdminInformation(String username, String password){
Criteria criteria = criteria()
.add(Restrictions.eq("userName", username))
.add(Restrictions.eq("password", password));
return (Admin) criteria.uniqueResult();
}
Restrictions.eq
仅返回一个带有ignoreCase
为false的SimpleExpression
对象。 因此,它将使用与您提供的值完全相同的值来创建SQL。
public static SimpleExpression eq(String propertyName, Object value) {
return new SimpleExpression(propertyName, value, "=");
}
因此,这种不区分大小写的比较是数据库的行为。 它取决于数据库服务器或表或列的配置。
例如:在MS SQL Server中,这是基于数据库的排序规则,可以在表级别或列级别上重写。 示例排序规则名称为Latin1_General_CI_AS,此处CI =不区分大小写,AS =区分重音。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.