[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3689) NPE when using composite-map-key and composite-element together in a map
Paul Benedict (JIRA)
noreply at atlassian.com
Sun Jan 25 21:03:38 EST 2009
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32186#action_32186 ]
Paul Benedict commented on HHH-3689:
------------------------------------
This issue is not just related to composite elements. I got this using Hibernate 3.3.1 and Annotations 3.4. I will try to provide a test case.
> NPE when using composite-map-key and composite-element together in a map
> ------------------------------------------------------------------------
>
> Key: HHH-3689
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3689
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.3.1
> Environment: 3.3.1, MySQL 5
> Reporter: Jason Maskell
>
> When trying to get a composite map key working with my composite element class, I ran into this issue. I've seen it reported in a couple of other places since August 08, so it's been around for a while.
> <map name="inventory" table="capo_inventory">
> <key column="capo_id"/>
> <composite-map-key class="ItemCountKey">
> <key-many-to-one name="item" column="item_id" class="Item"/>
> <key-property name="quality" type="int" column="quality" />
> </composite-map-key>
> <composite-element class="ItemCount">
> <many-to-one name="item" class="com.tamedtornado.data.Item"
> formula="item_id" />
> <property name="quality" formula="quality" type="int" />
> <property name="count" type="int" />
> </composite-element>
> </map>
> This mapping causes this error (root cause):
> Caused by: java.lang.NullPointerException
> at org.hibernate.util.StringHelper.qualify(StringHelper.java:287)
> at org.hibernate.util.StringHelper.qualify(StringHelper.java:301)
> at org.hibernate.loader.JoinWalker.walkCompositeElementTree(JoinWalker.java:522)
> at org.hibernate.loader.JoinWalker.walkCollectionTree(JoinWalker.java:333)
> at org.hibernate.loader.JoinWalker.walkCollectionTree(JoinWalker.java:278)
> at org.hibernate.loader.collection.BasicCollectionJoinWalker.<init>(BasicCollectionJoinWalker.java:70)
> at org.hibernate.loader.collection.BasicCollectionLoader.<init>(BasicCollectionLoader.java:76)
> at org.hibernate.loader.collection.BasicCollectionLoader.<init>(BasicCollectionLoader.java:63)
> at org.hibernate.loader.collection.BasicCollectionLoader.<init>(BasicCollectionLoader.java:54)
> at org.hibernate.loader.collection.BatchingCollectionInitializer.createBatchingCollectionInitializer(BatchingCollectionInitializer.java:115)
> at org.hibernate.persister.collection.BasicCollectionPersister.createCollectionInitializer(BasicCollectionPersister.java:320)
> at org.hibernate.persister.collection.AbstractCollectionPersister.postInstantiate(AbstractCollectionPersister.java:563)
> at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:326)
> at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
> at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
> at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
> 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)
> ... 65 more
> It's quite easy to debug, but I have no idea what it's supposed to be doing, so have no idea how to fix it. The String[] cols parameter passed into walkCompositeElementTree has two nulls in it, which causes the NPE later in the stack. I hope this is easily reproducible, as I'm going to have to write some really grodey code now that I can't easily find my object by those two parameters. :)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list