0

我正在使用 Hibernate 3.3.1 和 PostgresQL 9.2.2 服务器。我的应用程序的表是由休眠自动生成的,现在我想对表中一个非常常用的“like”表达式进行优化,看起来像 wy:“where path like 'RootFolder_FirstSubfolder%'”

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

有什么建议我可以使用更多索引来加速我的“喜欢”表达吗?
非常感谢您帮助我

亲切的问候

香农

4

1 回答 1

1

Hibernate 可以使用Index注解自动创建附加索引:

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

但它无济于事,因为创建的索引不适合like子句。

在此处阅读最受好评的答案以获得更好的解决方案。不幸的是,它需要自定义 sql 和 AFAIK,没有简单的方法可以将自定义 sql 集成到由休眠模式更新工具生成的脚本中。

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

于 2013-10-30T09:59:43.913 回答