2011-05-29 119 views
1

我正在尝试将Grails 1.0.3项目升级到1.3.7,并且有我认为是相关的问题。Grails 1.0.3升级问题

旧的项目在conf/hibernate/Domain1.hbm.xml中有Hibernate的xml文件我猜测GORM在1.0.3中不存在?

我需要转换本质是什么在XML文件转换成Groovy代码中域类域/

任何其他细节是有益的。谢谢。

更新 -

所有这些变化都是org.hibernate.DuplicateMappingException它看起来像我可以只移动域文件的结果:Relevant Post这真的是我想要做虽然?我的理解是,对于GORM,我根本不需要使用xml文件。

这里有一个例外

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 

回答

3

GORM Grails的1.0.3肯定存在。

您可能只需更新1.3.7的hibernate配置。看看Grails and Hibernate - Reference Documentation

除非您映射到遗留或其他不寻常的数据库模式,否则标准的GORM域建模是一条可行的路线。它非常灵活。

+0

@JamesA - 感谢您的链接和信息。但是,与链接相比,hibernate xml看起来很好,所以我不确定。任何其他想法? – skaz 2011-05-29 20:49:25

+0

@JamesA - 我相信我需要有hibernate xml和将会有函数扩展它们的域对象。它似乎只是不喜欢,我都有。 – skaz 2011-05-29 21:00:35

+0

是的,你需要conf/hibernate中的映射文件和src/java中的域类。 – jamesallman 2011-05-29 21:09:01