Как решить ошибку Grails Repeated столбца в сопоставлении для сущности?на существующей базе данных Postgresql - PullRequest
2 голосов
/ 16 декабря 2010

Привет, у меня есть следующий домен в Grails

class Customer {
    static mapping = {
         table 'customer'
         // version is set to false, because this isn't available by default for legacy databases
         version false
         id column:'customerid' //generator:'identity', 
    }
    Long customerid
    Long customergroupid
    String username
    String password
    String name
    String street
    String city
    String province
    String postcode
    String country
    Date dateregistered
    String balance
    Long parentid
    String parentrebate
    String metapath
    Long metalevel
    Integer smsreplystatus
    Integer status
    String reversalurl

    static constraints = {
        customerid(insert:false,update:false)
        customergroupid(max: 9999999999L)
        username(size: 1..20, blank: false)
        password(size: 1..32, blank: false)
        name(size: 1..20, blank: false)
        street(size: 0..50)
        city(size: 0..20)
        province(size: 0..20)
        postcode(size: 0..5)
        country(size: 0..20)
        dateregistered(nullable: true)
        balance()
        parentid(max: 9999999999L)
        parentrebate()
        metapath(size: 1..255, blank: false)
        metalevel(max: 9999999999L)
        smsreplystatus(max: 99999)
        status(max: 99999)
        reversalurl(size: 0..50)
    }
    String toString() {
        return "${customerid}" 
    }
}

У меня есть текущая база данных с существующими данными, и у меня отображается GORM с GRAG, но я получаю эту ошибку

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot 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.MappingException: Repeated column in mapping for entity: postgresql.Customer column: customerid (should be mapped with insert="false" update="false")
    ... 23 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: postgresql.Customer column: customerid (should be mapped with insert="false" update="false")

1 Ответ

1 голос
/ 11 января 2011

Была такая же проблема, удалите "Long customerid"

Это может быть нереализуемым решением, но по крайней мере приложение компилирует и создает таблицу.

Не исследовал вообще, как яудалось заставить это работать - возможно, при установке пользовательского столбца идентификаторов, подразумевается определение свойства (таким образом, ошибка «повторный столбец ...»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...