[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6204) JoinColumn on non key field fails to populate collection

Strong Liu (JIRA) noreply at atlassian.com
Fri Aug 19 21:21:03 EDT 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-6204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43308#comment-43308 ] 

Strong Liu commented on HHH-6204:
---------------------------------

https://issues.jboss.org/browse/JBPAPP-6475

> JoinColumn on non key field fails to populate collection
> --------------------------------------------------------
>
>                 Key: HHH-6204
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6204
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.3.2, 3.6.0.Beta1, 3.6.0.Beta2, 3.6.0.Beta3, 3.6.0.Beta4, 3.6.0.CR1, 3.6.0.CR2, 3.6.0, 3.6.1, 3.6.2, 4.0.0.Alpha1, 3.6.3, 4.0.0.Alpha2, 3.6.4, 4.0.0.Alpha3
>         Environment: EAP 5 (hibernate 3.3.2), hibernate 3.6.x, 4.0.x , probably eap4 as well
>            Reporter: Chris Sams
>         Attachments: CompositeKeyExample.zip
>
>
> To duplicate the issue, create three tables in a database with no declared primary or foreign keys.  Map entities to two of the tables.  One of these entities has a primitive @Id; the other has an @EmbeddedId.  Both entities contain an additional field used to join with the third table and populate a collection.
> This works with the entity that has a primitive @Id but for the entity with @EmbeddedId, trying to do anything with the collection after calling the getter results in:
> javax.ejb.EJBException: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of jboss.example.DoesNotWorkPk.id1
>     at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
> ....
> Caused by: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of jboss.example.DoesNotWorkPk.id1
>     at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:58)
> ....
> Caused by: java.lang.IllegalArgumentException: Can not set java.lang.String field jboss.example.DoesNotWorkPk.id1 to jboss.example.DoesNotWork
>     at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)
> I've attached a sample project.  The relevant files are Works.java, DoesNotWork.java, and DoesNotWorkPk.java
> There's also data.sql along with the java files to populate a mysql db, but I think any DB will do.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list