Grails 1.0.3 Upgrade Problems

匿名 (未验证) 提交于 2019-12-03 02:02:01

问题:

I am trying to upgrade a Grails 1.0.3 project to 1.3.7 and am having what I believe are related issues.

The old project has Hibernate xml files in conf/hibernate/Domain1.hbm.xml I am guessing that GORM didn't exist in 1.0.3?

Do I need to essentially convert what is in the xml files into Groovy code in the Domain classes in domain/

Any other details are helpful. Thanks.

UPDATE -

All of these changes are the result of a org.hibernate.DuplicateMappingException It looks like I can just move the domain files: Relevant Post Is that really what I want to do though? My understanding is that with GORM I wouldn't need to use the xml files at all.

Here is an exception

2011-05-29 16:43:49,616 [main] ERROR context.GrailsContextLoader  - Error executing bootstraps: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is 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.DuplicateMappingException: Duplicate class/entity mapping sportsdb.Event     org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is 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.DuplicateMappingException: Duplicate class/entity mapping sportsdb.Event         at org.grails.tomcat.InlineExplodedTomcatServer.doStart(InlineExplodedTomcatServer.groovy:112)         at org.grails.tomcat.InlineExplodedTomcatServer$doStart.callCurrent(Unknown Source)         at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:97)         at grails.web.container.EmbeddableServer$start.call(Unknown Source)         at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:158)         at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)         at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:280)         at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)         at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:149)         at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)         at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)         at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)         at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)         at RunApp$_run_closure1.doCall(RunApp:33)         at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)         at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)         at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)         at gant.Gant.withBuildListeners(Gant.groovy:427)         at gant.Gant.this$2$withBuildListeners(Gant.groovy)         at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)         at gant.Gant.dispatch(Gant.groovy:415)         at gant.Gant.this$2$dispatch(Gant.groovy)         at gant.Gant.invokeMethod(Gant.groovy)         at gant.Gant.executeTargets(Gant.groovy:590)         at gant.Gant.executeTargets(Gant.groovy:589)     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.DuplicateMappingException: Duplicate class/entity mapping sportsdb.Event         ... 25 more     Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.DuplicateMappingException: Duplicate class/entity mapping sportsdb.Event         ... 25 more     Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping sportsdb.Event         ... 25 more

回答1:

GORM certainly existed in Grails 1.0.3.

You'll probably just have to update your hibernate configuration for 1.3.7. Take a look at the Grails and Hibernate - Reference Documentation

Unless you are mapping to a legacy or otherwise unusual database schema the standard GORM domain modelling is the way to go. It's very flexible.



转载请标明出处:Grails 1.0.3 Upgrade Problems
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!