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



我可以分享我的沮丧。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 为日期列创建一个索引。但看起来添加其他条件的选项为零。

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

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

HQL 是一种数据操作语言,而不是数据定义语言,因此对您的需求没有用。如果要使用数据库供应商特定的功能,则必须绕过休眠并使用较低级别的jdbc连接来执行SQL查询。在 grails 中,您可以使用 dataSource bean 使查询变得时髦。当然,这会将您限制在特定的数据库(在您的情况下是Postgres)。

相关内容

最新更新