-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Migration from 2.x to 3.05
PostPosted: Thu Apr 27, 2006 11:46 am 
Beginner
Beginner

Joined: Fri Feb 24, 2006 12:52 pm
Posts: 30
Hibernate version:
3.05

Full stack trace of any exception that occurs:
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.bmc.idm.cmplmgr.bo.common.PolicyImpl.name
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:236)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:157)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:104)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:544)
at org.hibernate.engine.Cascades$6.cascade(Cascades.java:176)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:332)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:214)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:157)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:104)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:544)
at org.hibernate.engine.Cascades$6.cascade(Cascades.java:176)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascadeCollection(Cascades.java:895)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:792)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
at org.hibernate.event.def.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:264)
at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:149)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:104)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:544)
at org.hibernate.engine.Cascades$6.cascade(Cascades.java:176)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascadeCollection(Cascades.java:895)
at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:792)
at org.hibernate
2006-04-27 17:55:14,736 INFO [STDOUT] .engine.Cascades.cascade(Cascades.java:720)
at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
at org.hibernate.event.def.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:264)
at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:223)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:102)
at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:54)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:539)


Name and version of the database you are using:
Oracle 9

--------------------------------------------------------------------------------
I am migrating from 2.x to 3.05 using the instructions in http://www.hibernate.org/250.html#A6

I replaced the calls to seesion.saveOrUpdateCopy() with session.merge() ang I get the exception above.

Any know issue with this?

Thanks
Avishay

_________________
Avishay Balderman


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 28, 2006 12:56 am 
Expert
Expert

Joined: Thu Dec 23, 2004 9:08 pm
Posts: 2008
Session.merge() returns the persitent version of the passed-in object, and that persistent version should be used from then on. This is a bug:
Code:
session.merge(child);
parent.getChildren().add(child);
session.merge(parent);
This code tries to save a transient child into parent's children, and that's going to cause problems, seeing as there's now a persistent version of child. The correct code is
Code:
child = session.merge(child);
parent.getChildren().add(child);
session.merge(parent);
Go through your code looking for these sorts of bugs. Resolving them should get you going again.

_________________
Code tags are your friend. Know them and use them.


Top
 Profile  
 
 Post subject: Migration from 2.x to 3.05
PostPosted: Sat Apr 29, 2006 2:56 pm 
Beginner
Beginner

Joined: Fri Feb 24, 2006 12:52 pm
Posts: 30
Thanks

I will check it.

_________________
Avishay Balderman


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.