-->
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.  [ 6 posts ] 
Author Message
 Post subject: Inheritance and bag insertion
PostPosted: Sun Feb 13, 2005 7:36 am 
Beginner
Beginner

Joined: Wed Jan 26, 2005 5:34 am
Posts: 41
Location: France, Paris
Hibernate version: hibernate3 beta4

2 mapping documents:
Code:
<hibernate-mapping package="visioconference">
  <class name="MediaSessionLevel" table="mediasessionlevel">
    <id name="SQLId" column="msl_id" type="long" unsaved-value="null">
      <generator class="native"/>
    </id>
    <bag name="bandwidths" table="bandwidth" cascade="all-delete-orphan">
      <key column="msl_id" not-null="true"/>
      <one-to-many class="MediaSessionLevel$Bandwidth"/>
    </bag>
  </class>
  <class name="MediaSessionLevel$Bandwidth" table="bandwidth">
    <id name="SQLId" column="ban_id" type="long" unsaved-value="null">
      <generator class="native"/>
    </id>
    <property name="modifier" column="ban_modifier" type="string" length="31" not-null="true"/>
    <property name="value" column="ban_value" type="long" not-null="true"/>
  </class>
</hibernate-mapping>

Code:
<hibernate-mapping package="visioconference">
  <joined-subclass name="Session" extends="MediaSessionLevel" table="session">
    <key column="msl_id"/>
    <property name="creator" column="ses_creator" type="string" length="63" not-null="true"/>
  </joined-subclass>
</hibernate-mapping>


If i add a MediaSessionLevel that's ok:
m = new MediaSessionLevel();
b = new Bandwidth("m",123);
m.addBandwidth(b);
session.save(m);

But if a create a Session (Session inherits MediaSessionLevel, but doesn't override addBandwidth), i've an exception:
s = new Session();
b = new Bandwidth("m",123);
s.addBandwidth(b);
session.save(s);

Full stack trace of any exception that occurs:

org.hibernate.PropertyValueException: not-null property references a null or transient value: visioconference.MediaSessionLevel$Bandwidth._bandwidthsBackref
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:73)
at org.hibernate.event.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:227)
at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:157)
at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:103)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:180)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:169)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:92)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:466)
at org.hibernate.engine.Cascades$5.cascade(Cascades.java:153)
at org.hibernate.engine.Cascades.cascade(Cascades.java:721)
at org.hibernate.engine.Cascades.cascadeCollection(Cascades.java:858)
at org.hibernate.engine.Cascades.cascade(Cascades.java:739)
at org.hibernate.engine.Cascades.cascade(Cascades.java:817)
at org.hibernate.event.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:354)
at org.hibernate.event.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:256)
at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:157)
at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:103)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:180)
at org.hibernate.event.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:31)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:169)
at org.hibernate.event.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:25)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:479)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:474)
at visioconference.unittest.HibernateTest.testSession(HibernateTest.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at junit.textui.TestRunner.doRun(TestRunner.java:116)
at junit.textui.TestRunner.start(TestRunner.java:172)
at junit.textui.TestRunner.main(TestRunner.java:138)

_________________
Vincent


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 13, 2005 7:55 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
This is a bug in 3.0beta4. I'll go fix it now.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 13, 2005 7:59 am 
Beginner
Beginner

Joined: Wed Jan 26, 2005 5:34 am
Posts: 41
Location: France, Paris
Thx, this is urgent for my project. Will be there a special release (beta4c ? ;-) or should i check out cvs or other ?

_________________
Vincent


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 13, 2005 9:30 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
Fixed in CVS, please test.


(By the way, if you will need "urgent" fixes for project work in future, please consider a commercial support contract. Thanks.)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 13, 2005 9:53 am 
Beginner
Beginner

Joined: Wed Jan 26, 2005 5:34 am
Posts: 41
Location: France, Paris
gavin wrote:
Fixed in CVS, please test.


(By the way, if you will need "urgent" fixes for project work in future, please consider a commercial support contract. Thanks.)


What i've done:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/hibernate login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/hibernate checkout Hibernate3
ant

I've the following compilation error:
Code:
Buildfile: build.xml
  [taskdef] Could not load definitions from resource clovertasks. It could not be found.

splash:

init:
     [echo] Build Hibernate-3.0 (2005-02-13 02:33:59)
    [mkdir] Created dir: /home/vri/Projet/cvs/Hibernate3/build/classes
     [copy] Copying 4 files to /home/vri/Projet/cvs/Hibernate3/build/classes
     [echo] JDK version: 1.5

cleanantlr:

antlr:
    [mkdir] Created dir: /home/vri/Projet/cvs/Hibernate3/build/gensrc/org/hibernate/hql/antlr
[antlrtask] ANTLR Parser Generator   Version 2.7.5 (20050202)   1989-2005 jGuru.com
[antlrtask] ANTLR Parser Generator   Version 2.7.5 (20050202)   1989-2005 jGuru.com
[antlrtask] ANTLR Parser Generator   Version 2.7.5 (20050202)   1989-2005 jGuru.com

compile:
    [javac] Compiling 787 source files to /home/vri/Projet/cvs/Hibernate3/build/classes
    [javac] /home/vri/Projet/cvs/Hibernate3/build/gensrc/org/hibernate/hql/antlr/HqlBaseParser.java:141: cannot find symbol
    [javac] symbol  : method recover(antlr.RecognitionException,antlr.collections.impl.BitSet)
    [javac] location: class org.hibernate.hql.antlr.HqlBaseParser
    [javac]                     recover(ex,_tokenSet_0);
    [javac]                         ^

(I have 44 times this 'symbol' error)

My CLASSPATH:
/usr/local/j2sdk1.5.0/jre/lib:/usr/share/java:

_________________
Vincent


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 14, 2005 8:02 am 
Beginner
Beginner

Joined: Wed Jan 26, 2005 5:34 am
Posts: 41
Location: France, Paris
Ok, i had a too recent version of antlr.
Now, it works (... it seems ;-). Thanks.

_________________
Vincent


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 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.