代码之家  ›  专栏  ›  技术社区  ›  Randy Sugianto 'Yuku'

休眠不区分大小写的utf-8/unicode排序规则,适用于多个DBMS

  •  1
  • Randy Sugianto 'Yuku'  · 技术社区  · 15 年前

    我正在寻找hibernate注释或.hbm.xml,它允许我将表列指定为不区分大小写的字符串,以unicode/utf-8/locale独立的方式工作,在多个数据库引擎上工作。

    有这样的事吗?

    以便我可以使用 Restrictions.eq("column_name", "search_string") 有效地。

    1 回复  |  直到 15 年前
        1
  •  0
  •   ChssPly76    15 年前

    不,没有这样的映射或注释。您的选择是:

    1. 通过在数据库级别指定适当的排序规则来处理此问题。
    2. 使用 lower() 为大多数(全部?)定义的函数方言。
    3. 如果只想使用条件,请使用 Restrictions.ilike() 用于不区分大小写的比较。它实际使用 lower() 内部。