2013-10-30 164 views
0

我正在使用Hibernate 3.3.1和PostgresQL 9.2.2服务器。我的应用程序 该表由Hibernate自动生成,现在我想为 做一个优化经常使用的“喜欢”在表至极表达式看起来是WY: “哪里像‘RootFolder_FirstSubfolder%’路径”类似表达式的休眠索引

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

是否有任何建议如何使用更多索引加速我的“喜欢”表达式?
在此先感谢很多帮助我

亲切的问候

回答

1

Hibernate可以使用Index注解来自动创建一个额外的指标:

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

,但它赢得了”因为创建的索引不适合like子句。

阅读最高的答案here为更好的解决方案。不幸的是,它需要自定义的SQL和AFAIK,没有简单的方法来将定制的SQL集成到由hibernate架构更新工具生成的脚本中。

作为休眠自动更新的替代方法:您可以使用像liquibase这样的工具来管理模式更新。它需要更多的设置,但它使您可以完全控制架构更新脚本。