Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.1
-
Fix Version/s: None
-
Component/s: Persistence
-
Labels:None
-
Environment:Windows
Description
When adding a reference from a Grails domain class to a legacy class mapped with Hibernate a NPE results when reloading Hibernate.
Maybe I've done something wrong in my code, but I cant see what it is and the error messages arent really giving me much of a clue.
The origin of the exception appears to be:-
Caused by: java.lang.NullPointerException
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.getMapping(GrailsDomainBinder.java:1050)
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindManyToOne(GrailsDomainBinder.java:1804)
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.createClassProperties(GrailsDomainBinder.java:1480)
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindRootPersistentClassCommonValues(GrailsDomainBinder.java:1357)
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindRoot(GrailsDomainBinder.java:1118)
at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.bindClass(GrailsDomainBinder.java:1002)
at org.codehaus.groovy.grails.orm.hibernate.cfg.DefaultGrailsDomainConfiguration.secondPassCompile(DefaultGrailsDomainConfiguration.java:96)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:673)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 579 more
The minimal project in the attached file reproduces the issue.
Steps to reproduce:-
1. grails run-app - this will work OK
2. Ensure that the MyGrailsObject table is empty
3. uncomment the reference to MyLegacyObject in grails-app/domain/MyGrailsObject.groovy
4. Save. The running app should pick up the change and you should see the NPE.
Cleaning and restarting the app doesnt help.
-
Hide
- grails-npe.zip
- 16/Mar/09 3:45 PM
- 159 kB
- Andy Carlson
-
- grails-npe/.classpath 6 kB
- grails-npe/.project 0.5 kB
- grails-npe/.../org.codehaus.groovy.eclipse.preferences.prefs 0.1 kB
- grails-npe/application.properties 0.1 kB
- grails-npe/build.xml 5 kB
- grails-npe/devDB.properties 0.4 kB
- grails-npe/devDB.script 0.6 kB
- grails-npe/grails-app/.../BootStrap.groovy 0.1 kB
- grails-npe/grails-app/conf/Config.groovy 3 kB
- grails-npe/grails-app/.../DataSource.groovy 0.6 kB
- grails-npe/.../MyLegacyObject.hbm.xml 0.5 kB
- grails-npe/grails-app/.../hibernate.cfg.xml 0.3 kB
- grails-npe/grails-app/.../resources.groovy 0.0 kB
- grails-npe/grails-app/.../UrlMappings.groovy 0.2 kB
- grails-npe/.../MyGrailsObjectController.groovy 4 kB
- grails-npe/.../MyLegacyObjectController.groovy 4 kB
- grails-npe/.../MyGrailsObject.groovy 0.1 kB
- grails-npe/.../messages.properties 3 kB
- grails-npe/.../messages_de.properties 3 kB
- grails-npe/.../messages_es.properties 3 kB
- grails-npe/.../messages_fr.properties 2 kB
- grails-npe/.../messages_it.properties 2 kB
- grails-npe/.../messages_ja.properties 2 kB
- grails-npe/.../messages_nl.properties 3 kB
- grails-npe/.../messages_pt_BR.properties 3 kB
- grails-npe/.../messages_ru.properties 4 kB
- grails-npe/.../messages_th.properties 5 kB
- grails-npe/.../messages_zh_CN.properties 2 kB
- grails-npe/grails-app/views/error.gsp 2 kB
- grails-npe/grails-app/views/index.gsp 0.9 kB