Hibernate索引表达式

时间:2013-10-30 08:37:54

标签: postgresql hibernate indexing sql-like

我正在使用Hibernate 3.3.1和PostgresQL 9.2.2服务器。我的申请表 由hibernate自动生成,现在我想进行优化 在表格中经常使用的“喜欢”表达式看起来如此: “其中路径如'RootFolder_FirstSubfolder%'”

默认情况下,hibernate仅为通过注释定义的“id”列创建索引。

有没有建议如何使用更多索引来加速我的“喜欢”表达? 非常感谢您提前帮助我

亲切的问候

香农

1 个答案:

答案 0 :(得分:1)

Hibernate可以使用Index注释自动创建其他索引:

@org.hibernate.annotations.Index(name = "IDX_PATH")
private String path;

但由于创建的索引不适合like条款,因此无效。

阅读最受欢迎的答案here以获得更好的解决方案。不幸的是,它需要自定义sql和AFAIK,没有简单的方法在hibernate架构更新工具生成的脚本中集成自定义sql。

作为hibernate自动更新的替代方法:您可以使用liquibase之类的工具来管理架构更新。它需要更多设置,但它可以让您完全控制架构更新脚本。