1

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

这是我想要实现 Grails 的 SQL 方式:

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

似乎我可以告诉 GORM 为日期列创建索引。但看起来有零选项可以添加其他标准。

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

有任何想法吗?我只有手动方式。

4

1 回答 1

1

HQL 是一种 数据操作语言而非数据定义语言,因此对您的需求没有用处。如果您想使用数据库供应商特定的功能,您必须绕过休眠并使用较低级别的 jdbc 连接来执行 SQL 查询。在 grails 中,您可以使用 dataSource bean 以groovy 方式进行查询。当然,这会使您紧贴特定数据库(在您的情况下为 Postgres)。

于 2012-12-13T09:29:01.487 回答