在 Grails 中使用数据库视图



我已经在我的DB Postgres中创建了一个视图。在 grails 中创建一个类,如下所示:

class ViewDeudce{
    BigDecimal stateid
    BigDecimal motivid
    static mapping = {
        id column:"id", sqlType:"numeric"
        table 'viewDeudce'
        version false
    }
}

视图的 ID 是"客户端编号"。如果我有一个"客户端"类,在执行此操作时,我应该无法关联它?

class Clients implements Serializable {
    String name
    BigDecimal document
    String brutos
    ViewDeudce viewDeudce
static mapping = {
        id column:"idclient", sqlType:"numeric", generator: 'assigned'
        ViewDeudce column: "id", sqlType:"numeric"
        version false
    }

据我了解,我不是告诉客户端类通过 id 属性与"ViewDeudce"类相关联吗?

因为重新启动服务器时,它不会启动我,并且给我以下错误:

Caused by BeanCreationException: Error creating bean with name '$ primaryTransactionManager': Can not resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' sessionFactory ': Invocation of init method failed; nested exception is org.hibernate.HibernateException: Missing column: id in public.clients
- >> 266 | run in java.util.concurrent.FutureTask

谢谢!

也许尝试使用 id 而不是 grails.domain class

class Clients implements Serializable {
    String name
    BigDecimal document
    String brutos
    //ViewDeudce viewDeudce
    //!!change here!!
    Long viewDeudceId
static mapping = {
        id column:"idclient", sqlType:"numeric", generator: 'assigned'
        ViewDeudce column: "id", sqlType:"numeric"
        version false
    }

最新更新