簡體   English   中英

為什么在類似搜索期間將較低的內容添加到休眠查詢中

[英]why is lower added to the hibernate query during like search

我正在嘗試使用休眠條件進行類似搜索。

Criterion nameCriteria = Restrictions.ilike("name", fileNameWOE,MatchMode.START);
criteria.add(fileNameCriteria);
List<Account> results = getHibernateTemplate().findByCriteria(criteria);

但是,當生成休眠查詢時,它將為查詢添加一個較低的條件。

  select
        this_.ID as ID3_0_,
        this_.SESSION_ID as SESSION2_3_0_,
        this_.NAME as NAME3_3_0_,
    from
        account this_ 
    where
        lower(this_.NAME) like ?

休眠為什么有任何原因自動添加較低的條件,如何避免這種情況?

Restrictions.ilike不區分大小寫的搜索。 進行不區分大小寫的查詢的通常方法是將輸入和db值轉換為相同的大小寫(使用大寫或小寫)。 這就是為什么對您的謂詞應用更低的原因。

Jboss文檔中

我喜歡

不區分大小寫的“ like”,類似於Postgres ilike運算符

它將參數轉換為較低值以使搜索不區分大小寫

如果您想要相同的功能但不區分大小寫,則可以使用“限制”。 喜歡

暫無
暫無

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

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