【问题标题】:how to index columns for case-insensitive search using Hibernate Criteria on different databases如何在不同数据库上使用 Hibernate Criteria 为不区分大小写搜索的列建立索引
【发布时间】:2017-09-07 22:06:16
【问题描述】:

我正在使用休眠,并且已经按照不区分大小写的条件进行搜索。然而,搜索性能 不足。我不知道如何设置配置,以便在 Oracle 和 Sql-Server 上工作。因为

  • 仅 Sql-Server 支持不区分大小写的列
  • 仅 Oracle 支持基于函数的索引

可以选择为不区分大小写的搜索创建一个新列,但是我必须调整所有绑定,还是有其他方法?

【问题讨论】:

    标签: java sql-server oracle hibernate indexing


    【解决方案1】:

    我认为您要搜索的词是“排序规则”。

    通常在数据库、列或查询级别指定排序规则,也可能在索引级别指定。

    我认为 Hibernate 中没有在查询级别指定排序规则的实现。

    您可以使用native queries,在此您可以使用数据库特定函数(如COLLATE in SQLServerCOLLATE in Oracle)来为给定表达式强制转换排序规则。

    【讨论】:

      猜你喜欢
      • 2012-06-17
      • 2011-03-23
      • 2011-01-14
      • 2010-09-05
      • 2011-08-10
      • 2021-12-18
      • 2010-09-12
      • 2017-09-29
      • 2013-09-07
      相关资源
      最近更新 更多