Loop component causes NPE for hibernate enitites using a composite-id (ie
multi-column id)
-------------------------------------------------------------------------------------------
Key: TAP5-920
URL: https://issues.apache.org/jira/browse/TAP5-920
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-core, tapestry-hibernate
Affects Versions: 5.1.0.5
Reporter: Buck O' Five
This issue is in reference to thread:
http://old.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-ts25041718.html
"After some investigation it SEEMS that:
- looping of entities (for which HibernateEntityValueEncoder is called) WORKS
for entities with standard IDs
- looping FAILS for entities with an @IdClass specified (i.e: multi-column id)
- querying of all entities works (so it isn't a hibernate issue as far as I can
tell) "
This issue was introduced in T5.1.x, it does not occur in 5.0.x. From what I
can tell, I think it has something to do with the way the loop component is
creating the value encoder.
When debugging with T5.0.x:
The ValueEncoderFactory for the entity (created in
HibernateModule.contributeValueEncoderSource()) is never created for the loop.
When debugging with T5.1.x:
The ValueEncoderFactory is always created and throws an NPE when accessing the
value returned from persistentClass.getIdentifierProperty(). It is correct for
persistentClass.getIdentifierProperty() to be null when the entity is using a
composite-id.
It appears that T5.0.x is smarter about when it should and shouldn't create the
encoder.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.