[hibernate-issues] [Hibernate-JIRA] Created: (HHH-2075) many-to-one in a properties element causes strange PropertyValueException on flush

Josh Moore (JIRA) noreply at atlassian.com
Thu Sep 14 05:07:24 EDT 2006


many-to-one in a properties element causes strange PropertyValueException on flush
----------------------------------------------------------------------------------

         Key: HHH-2075
         URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2075
     Project: Hibernate3
        Type: Bug

  Components: core  
    Versions: 3.2.0.cr4    
 Environment: HSQLDB
Hibernate r10478
    Reporter: Josh Moore
 Attachments: exception.txt, log.txt, properties.zip

Full test directory zip (org/hibernate/test/properties) attached. But to summarize, the following test will fail on flush after a simple merge. The exception thrown says that Pixels.sizeC is null -- though it's clearly set in the test case.

<code>
        Image i = new Image();
    	
    	Pixels p = new Pixels();
        p.setSizeC(new Integer(2));
        p.setImage(i); 			// This calls i.getPixels().add(p)
        // i.setPixels(null);		// This makes it work.
        
        Session s = openSession();
        Transaction t = s.beginTransaction();
        // s.merge(i);				// This makes it work.
        p = (Pixels) s.merge(p); 	// This fails with the exception below.
        t.commit();
        s.close();
</code>

The properties element in question is:

<code>
    <properties name="defaultPixelsTag">
        <property name="defaultPixels" type="java.lang.Boolean"/>
        <many-to-one name="image" class="Image" column="image"
            not-null="true" unique="false"  insert="true" update="true"        
            cascade="lock,merge,persist,replicate,refresh,save-update"
         />
     </properties>
</code>

The reverse side is:

<code>
    <set
        name="pixels"
        lazy="true"
        inverse="true"
        cascade="lock,merge,persist,replicate,refresh,save-update">      
        <key column="image" not-null="false"/>
        <one-to-many class="Pixels"/>
    </set>
</code>

-- 
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