Re: T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
Hi, Was this issue ever resolved or is there a JIRA open for it (I couldn't find one)? We are experiencing this exact same scenario ie, Moving from 5.0 to 5.1 and using a composite-id entity in a loop. thanks, B -- View this message in context: http://old.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-tp25041718p26208119.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
Hi, Was this issue ever resolved or is there a JIRA open for it (I couldn't find one)? We are experiencing this exact same scenario ie, Moving from 5.0 to 5.1 and using a composite-id entity in a loop. thanks, B -- View this message in context: http://old.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-tp25041718p26208100.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
Hi, Was this issue ever resolved or is there a JIRA open for it (I couldn't find one)? We are experiencing this exact same scenario ie, Moving from 5.0 to 5.1 and using a composite-id entity in a loop. thanks, B -- View this message in context: http://old.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-tp25041718p26207480.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
I'm not sure if HibernateEntityValueEncoder called PersistentClass.getIdentifierProperty() before (in 5.0.x) when my code worked... getIdentifierProperty() returns an instance of hibernate.mapping.Property which may be a Composite ID (which seems to be the official name for multi-column ids). In other words this method should return the id-property of my class even though this 'property' isn't defined by a single field in my case. So I think it should return a property, although a multi-valued one. All this indeed strongly suggests that it is a hibernate issue.. I will investigate further. Thanks. Ulrich Stärk wrote: > > This /seems/ to be a Hibernate issue. > PersistentClass.getIdentifierProperty() is apparently > returning null. > > On second thought this seems just natural since there is no property > representing your Id. > > Uli > > On 19.08.2009 12:39 schrieb Britske: >> I'm in the process of updating from 5.0.17 to 5.1.0.5 and breaking my >> head on >> this one: >> >> Getting a NullPointerException in HibernateEntityValueEncoder when trying >> to >> loop a hibernate Entity where the entity has a multi-column id. >> >> I actually have this with every entity with a multi-column id so please >> consider the below as an example of the generalized case. See relevant >> snippets as well as trace below. >> >> 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) >> >> I double checked this by transforming the mapped class to contain a >> single >> id instead of the multi-column id >> (I simply concatenated the columns that made up the id in sql and updated >> this value to a new column. Afterwards I assigned this new column to be >> the >> id of the table, and updated the hibernate entity accordingly. ) >> >> Afterwards the code just works. >> >> Is there a reason why multi-column entities don't seem to be working in >> my >> case? All dependencies are correct as far as I can tell. Anyone >> experienced >> this? >> >> >> relevant code: >> >> .tml >> >> >> >> ${CurCityTemp.temp} >> >> >> Please note that simply calling CityTemperaturesOrEmptyIfNonFound from a >> different method just works and returned results. It's just that the >> looping-code raises the error because the entity can't be encoded. >> (stacktrace at the end) >> >> >> relevant part of old entity class: (FAILS) >> --- >> @Entity >> @Table(name = "citytemperatures") >> @IdClass(CityTemperatureId.class) //CityTemperatureId is default id class >> combining two columns >> public class CityTemperatureBak >> { >> @Id >> private String cityid; >> >> @Id >> private String dateid; >> } >> >> relevant part of new entity class (WORKS) >> --- >> @Entity >> @Table(name = "citytemperatures") >> public class CityTemperature >> { >> @Id >> private String id; >> >> private String cityid; >> private String dateid; >> } >> >> relevant part of stacktrace: >> >> Caused by: java.lang.NullPointerException >> at >> org.apache.tapestry5.internal.hibernate.HibernateEntityValueEncoder.(HibernateEntityValueEncoder.java:54) >> at >> org.apache.tapestry5.hibernate.HibernateModule$1.create(HibernateModule.java:100) >> at >> org.apache.tapestry5.internal.services.ValueEncoderSourceImpl.getValueEncoder(ValueEncoderSourceImpl.java:49) >> at >> $ValueEncoderSource_1233238c1f1.getValueEncoder($ValueEncoderSource_1233238c1f1.java) >> at >> org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:116) >> at >> $ComponentDefaultProvider_1233238c0cd.defaultValueEncoder($ComponentDefaultProvider_1233238c0cd.java) >> at >> org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:304) >> at >> org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java) >> at >> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:98) >> at >> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933) >> ... 61 more >> >> >> Thanks >> Geert-Jan > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > > -- View this message in context: http://www.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-tp25041718p25042186.html Sent from the Tapestry
Re: T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
This /seems/ to be a Hibernate issue. PersistentClass.getIdentifierProperty() is apparently returning null. On second thought this seems just natural since there is no property representing your Id. Uli On 19.08.2009 12:39 schrieb Britske: I'm in the process of updating from 5.0.17 to 5.1.0.5 and breaking my head on this one: Getting a NullPointerException in HibernateEntityValueEncoder when trying to loop a hibernate Entity where the entity has a multi-column id. I actually have this with every entity with a multi-column id so please consider the below as an example of the generalized case. See relevant snippets as well as trace below. 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) I double checked this by transforming the mapped class to contain a single id instead of the multi-column id (I simply concatenated the columns that made up the id in sql and updated this value to a new column. Afterwards I assigned this new column to be the id of the table, and updated the hibernate entity accordingly. ) Afterwards the code just works. Is there a reason why multi-column entities don't seem to be working in my case? All dependencies are correct as far as I can tell. Anyone experienced this? relevant code: .tml ${CurCityTemp.temp} Please note that simply calling CityTemperaturesOrEmptyIfNonFound from a different method just works and returned results. It's just that the looping-code raises the error because the entity can't be encoded. (stacktrace at the end) relevant part of old entity class: (FAILS) --- @Entity @Table(name = "citytemperatures") @IdClass(CityTemperatureId.class) //CityTemperatureId is default id class combining two columns public class CityTemperatureBak { @Id private String cityid; @Id private String dateid; } relevant part of new entity class (WORKS) --- @Entity @Table(name = "citytemperatures") public class CityTemperature { @Id private String id; private String cityid; private String dateid; } relevant part of stacktrace: Caused by: java.lang.NullPointerException at org.apache.tapestry5.internal.hibernate.HibernateEntityValueEncoder.(HibernateEntityValueEncoder.java:54) at org.apache.tapestry5.hibernate.HibernateModule$1.create(HibernateModule.java:100) at org.apache.tapestry5.internal.services.ValueEncoderSourceImpl.getValueEncoder(ValueEncoderSourceImpl.java:49) at $ValueEncoderSource_1233238c1f1.getValueEncoder($ValueEncoderSource_1233238c1f1.java) at org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:116) at $ComponentDefaultProvider_1233238c0cd.defaultValueEncoder($ComponentDefaultProvider_1233238c0cd.java) at org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:304) at org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:98) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933) ... 61 more Thanks Geert-Jan - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
T5: HibernateEntityValueEncoder nullpointerException after Tapestry update
I'm in the process of updating from 5.0.17 to 5.1.0.5 and breaking my head on this one: Getting a NullPointerException in HibernateEntityValueEncoder when trying to loop a hibernate Entity where the entity has a multi-column id. I actually have this with every entity with a multi-column id so please consider the below as an example of the generalized case. See relevant snippets as well as trace below. 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) I double checked this by transforming the mapped class to contain a single id instead of the multi-column id (I simply concatenated the columns that made up the id in sql and updated this value to a new column. Afterwards I assigned this new column to be the id of the table, and updated the hibernate entity accordingly. ) Afterwards the code just works. Is there a reason why multi-column entities don't seem to be working in my case? All dependencies are correct as far as I can tell. Anyone experienced this? relevant code: .tml ${CurCityTemp.temp} Please note that simply calling CityTemperaturesOrEmptyIfNonFound from a different method just works and returned results. It's just that the looping-code raises the error because the entity can't be encoded. (stacktrace at the end) relevant part of old entity class: (FAILS) --- @Entity @Table(name = "citytemperatures") @IdClass(CityTemperatureId.class) //CityTemperatureId is default id class combining two columns public class CityTemperatureBak { @Id private String cityid; @Id private String dateid; } relevant part of new entity class (WORKS) --- @Entity @Table(name = "citytemperatures") public class CityTemperature { @Id private String id; private String cityid; private String dateid; } relevant part of stacktrace: Caused by: java.lang.NullPointerException at org.apache.tapestry5.internal.hibernate.HibernateEntityValueEncoder.(HibernateEntityValueEncoder.java:54) at org.apache.tapestry5.hibernate.HibernateModule$1.create(HibernateModule.java:100) at org.apache.tapestry5.internal.services.ValueEncoderSourceImpl.getValueEncoder(ValueEncoderSourceImpl.java:49) at $ValueEncoderSource_1233238c1f1.getValueEncoder($ValueEncoderSource_1233238c1f1.java) at org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:116) at $ComponentDefaultProvider_1233238c0cd.defaultValueEncoder($ComponentDefaultProvider_1233238c0cd.java) at org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:304) at org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:98) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933) ... 61 more Thanks Geert-Jan -- View this message in context: http://www.nabble.com/T5%3A-HibernateEntityValueEncoder-nullpointerException-after-Tapestry-update-tp25041718p25041718.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org