Hibernate 如何创建一个;“视图”;Grails中的域对象

Hibernate 如何创建一个;“视图”;Grails中的域对象,hibernate,grails,groovy,dns,gorm,Hibernate,Grails,Groovy,Dns,Gorm,我正在尝试将遗留数据库改编为grails应用程序,但我不确定如何在grails上实现这一点。我有一个巨大的表(包含colA,colB,…,colZ列),我只想将其中的一些映射为字段(比如colA,colC,colE),就像数据库视图一样,这个域类是只读的,所以不进行保存、更新和删除操作不会有问题 我应该如何创建我的域类 编辑 我需要调整一个查询到一个域对象,这个查询有很多group by表达式(max、min、count等),我想调整这个查询,以便每次调用DomainObj.list()Grai

我正在尝试将遗留数据库改编为grails应用程序,但我不确定如何在grails上实现这一点。我有一个巨大的表(包含colA,colB,…,colZ列),我只想将其中的一些映射为字段(比如colA,colC,colE),就像数据库视图一样,这个域类是只读的,所以不进行保存、更新和删除操作不会有问题

我应该如何创建我的域类

编辑


我需要调整一个查询到一个域对象,这个查询有很多group by表达式(max、min、count等),我想调整这个查询,以便每次调用DomainObj.list()Grails时都会运行这个查询,并从GORM代理中的数据库加载所有数据。

如果它是只读的,只需创建一个包含您感兴趣的字段的域对象。这应该没问题

但是请记住,GORM将创建一个“版本”列作为默认值,但这可以被禁用:

static mapping = {
      table 'people'
      version false
}

但是我该如何调用list方法呢?我需要在list方法上运行一个自定义查询,该方法将使用我在问题中谈到的一些groupby表达式和过滤字段执行查询。我对问题进行了编辑以使其更清晰。假设您正确地映射了它。那么其他的查询应该可以工作了。i、 e.列表、命名查询等。。。如果您的问题是如何进行实际查询,那么您可以检查文档。在这种情况下,数据库视图可能是最好的解决方案。GORM只允许您查询已映射的字段。