Hallo habe ich diese Domain in Grails folgendenWie Grails Fehler zu lösen Wiederholte Spalte in Zuordnung für Entität? auf bestehenden PostgreSQL-Datenbank
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}" } }
i mit vorhandenen Daten aktuellen Datenbank haben, und hat Zuordnung zu GORM mit grag aber ich erhalte diesen Fehler
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")
Update: Fehler bei Eigenschaft nicht vorhanden Fehler, nett. Lösung, Name hinzufügen: 'customerid' in Mapping-Schließung für benutzerdefinierte ID-Spalte. Funktioniert für mich endlich in MySQL. Kann das vorhandene Schema beibehalten und den Grails einen Testlauf geben ... – virtualeyes
Zusätzlich zum Hinzufügen von name attrib zu mapping (und Einfügen: false, update: false zu Mapping, nicht constraint) müssen Sie auch eine constraint nullable: true auf Ihrem hinzufügen benutzerdefinierte ID-Spalte; Andernfalls erhalten Sie einen Null-Eigenschaft Fehler nicht gut dokumentiert, etwas davon - im Grunde verbrachte ein paar Stunden ausprobieren, verschiedene Kombinationen. Zeitverschwendung mit einem schnellen Entwicklungsrahmen, ironisch – virtualeyes
insert: false, update: false not necessary Nur Mapping {ID Spalte: 'Col', Name: 'Col'} und Constraints {Col (Nullable: True)} macht den Trick für ich endlich! – virtualeyes