Grails& GORM:如何在域类上指定CREATE INDEX等价物?

时间:2012-12-13 07:13:57

标签: sql grails indexing gorm

我可以分享一下我的沮丧情绪。 GORM(和Grails ..)似乎有关于数据库索引的非常有限的文档。当我希望索引不仅仅是这里记录的内容时,我还没有找到任何关于如何为域类创建索引的帮助:http://grails.org/doc/latest/guide/GORM.html

这是SQL中我希望实现Grails的方式:

CREATE INDEX very_fast_index 
ON slow_table(date DESC NULLS LAST) 
WHERE is_latest = true;

好像我可以告诉GORM为日期列创建一个索引。但看起来有ZERO选项可以添加其他标准。

由于我讨厌简单的事情变得非常复杂,我已经在PostgreSQL CLI中手动创建了这些索引。不是来自Grails,它会更便携。我不想写任何HQL,因为我也不喜欢这个想法。

有什么想法吗?我只有手动方式。

1 个答案:

答案 0 :(得分:1)

HQL是Data manipulation languageData definition language,因此对您的需求无效。如果要使用数据库供应商特定功能,则必须绕过hibernate并使用较低级别的jdbc连接来执行SQL查询。在grails中,您可以使用dataSource bean来进行查询the groovy way。当然这对于特定的数据库(在你的情况下是Postgres)来说很紧张。