我尝试使用Hibernate(3.6.9)对username
执行区分大小写的等于,但似乎该限制不区分大小写。
例如:“AdMin”或“admin”都有效,但只有“admin”应该是正确的,否则.size()
应返回0.我会尽量避免使用like
。有人得到了不同的解决方案?在休眠限制中对限制'等于id'区分大小写
代码:
Session sess = getSessionFactory().getCurrentSession();
@SuppressWarnings("unchecked")
List<Login> logins = sess.createCriteria(Login.class).add(Restrictions.idEq(username)).list();
if(logins.size() == 1) {
return logins.get(0);
} else {
return null;
}
微软SQL Server和MySQL不会使在这种情况下的差异。
我怕这个答案的。已经有很多应用程序部署在不同的数据库中,因此这种解决方案将花费大量时间;) – Michel 2012-01-30 16:14:33