簡體   English   中英

utf8的MYSQL區分大小寫搜索(使用休眠)

[英]MYSQL case sensitive search (using hibernate) for utf8

當我要檢查用戶名並檢索此特定用戶名的其他信息時,我有具有utf8字符集和utf8排序規則的登錄表,hql查詢為我提供了相同的小寫和大寫結果。 我應該對工作案例敏感的HQL查詢做什么我使用Mysql 5和Java hibernarte

這是我的查詢:

return queryManager.executeQueryUniqueResult("select b.login from BranchEntity b where b.userName = ?", username);

最簡單的方法是更改​​列的定義,以使用不區分大小寫的排序規則,例如utf8_bin

詳情在這里

新增課程

public class CollateDialect extends MySQLDialect {
    @Override
    public String getTableTypeString() {
        return " COLLATE utf8_bin";
    }
}

並使用它:

cfg.setProperty("hibernate.dialect", "org.kriyak.hbm.CollateDialect");

這將使所有查詢區分大小寫,從而使語句更具意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM