Please note an alternative is the tapestry-jpa module, which you could support with hibernate or any other implementation of JPA.
Another alternative is to not use either and use standard Java EE Session Beans instead, as indeed I usually do. > On 13 Jan 2016, at 8:49 PM, Ido Dovrat <ido.dov...@gmail.com> wrote: > > Hibernate is not a dependency of Tapestry. The integration is provided as a > separate module. There is no surefire way to make such a module compatible > across all version combinations (tapestry and hibernate). > > I think tapestry-hibernate should always be aligned with the latest version > of Hibernate (currently 5.x). If possible, it should also support earlier > versions of Hibernate, but only to a point and not at all costs. > > All other users are free to fork the module and adapt it to their special > needs. Legacy support of ancient versions is not a common use scenario. > > On Wed, Jan 13, 2016 at 11:11 AM, Jens Breitenstein <mailingl...@j-b-s.de> > wrote: > >> Hi Kalle, hi all! >> >> I migrated to Hibernate 4.2.8 and everything works fine. >> >> Nevertheless I want to open a discussion about the current persistence >> layer integration of T5.4, if I am allowed to. >> I do not believe an UI Framework should force users to upgrade a >> persistence layer to a particular version. I just want to mention that >> financial institutions in general do not allow access to public maven repos >> at all (yes, I was caught in trap like this more than once) which makes >> upgrades really painful as simply not all library versions exist. And we >> should keep in mind, that a reuse of the entire Hibernate part for backend >> processing is not unusual, so changes may/will affect other projects, too. >> >> Definitely I see the problem that Hibernate makes incompatible changes >> even in minor version, which is a different topic, but we have to adress it >> somehow to decouple Tapestry from external dependencies. To me it looks >> like we need multiple tapestry-hibernate modules like: >> - tapestry-hibernate-3, >> - tapestry-hibernate-4.0-4.2.8 >> - tapestry-hibernate-4.3-4xwhatever >> - tapestry-hibernate-5.x >> to get rid of a particular version and allow users making a choice fitting >> their environment. >> >> >> Imho we should treat plain Java dependency management similar to >> JavaScript dependencies and avoid tight coupling of particular dependencies >> at all. Please correct me if I am wrong. >> >> >> Thanks for helping >> >> Jens >> >> >> >> >> Am 12/01/16 um 06:23 schrieb Kalle Korhonen: >> >>> You could try backing out the tapestry-hibernate and >>> tapestry-hibernate-core libs to a T5.4 version before beta-17 (see >>> >>> http://markmail.org/message/yeqlybz6hivwwcxk#query:+page:1+mid:ahfcfibfff2t6ueu+state:results >>> ). >>> They were not available via Maven central and the staging repos are not >>> available anymore so you'd have to build from the tag yourself. No >>> guarantee that it'd work but there were fairly few changes (I know because >>> I did the update originally). >>> >>> The 4.x Hibernate update was committed to the main branch over three >>> years(!) ago, so if I were you, I'd just bite the bullet and update to >>> Hibernate 4.x. I know, it always sucks upgrade several libs at once. >>> >>> Kalle >>> >>> On Mon, Jan 11, 2016 at 4:47 PM, Jens Breitenstein <mailingl...@j-b-s.de> >>> wrote: >>> >>> Hi Thiago, thanks for your answer! >>>> >>>> >>>> >>>> After some "more" dependency exclusions, the following (hibernate >>>> related) >>>> libs are left: >>>> >>>> * org.apache.tapestry:tapestry-hibernate:5.4.0 >>>> * org.apache.tapestry:tapestry-hibernate-core:5.4.0 >>>> >>>> and >>>> >>>> * org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final >>>> * org.hibernate:hibernate-commons-annotations:3.2.0.Final >>>> * org.hibernate:hibernate-core:3.6.10.Final >>>> * org.hibernate:hibernate-validator:3.1.0.GA >>>> >>>> But the error still exists. >>>> >>>> org.apache.tapestry5.ioc.internal.OperationException: Error invoking >>>> method public static >>>> org.apache.tapestry5.hibernate.HibernateSessionManager >>>> >>>> org.apache.tapestry5.hibernate.modules.HibernateCoreModule.buildHibernateSessionManager(org.apache.tapestry5.hibernate.HibernateSessionSource,org.apache.tapestry5.ioc.services.PerthreadManager): >>>> org.hibernate.SessionFactory.openSession()Lorg/hibernate/Session; >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:186) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1260) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:61) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:47) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1260) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:51) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$DefaultObjectCreator.createObject(PerthreadManagerImpl.java:275) >>>> at $HibernateSessionManager_142885567b0747b9.delegate(Unknown >>>> Source) >>>> at $HibernateSessionManager_142885567b0747b9.getSession(Unknown >>>> Source) >>>> at $HibernateSessionManager_142885567b0746e9.getSession(Unknown >>>> Source) >>>> at $Session_142885567b0747b8.readProperty(Unknown Source) >>>> at $Session_142885567b0747b8.createCriteria(Unknown Source) >>>> at $Session_142885567b074696.createCriteria(Unknown Source) >>>> .... >>>> Caused by: java.lang.RuntimeException: Error invoking method public >>>> static >>>> org.apache.tapestry5.hibernate.HibernateSessionManager >>>> >>>> org.apache.tapestry5.hibernate.modules.HibernateCoreModule.buildHibernateSessionManager(org.apache.tapestry5.hibernate.HibernateSessionSource,org.apache.tapestry5.ioc.services.PerthreadManager): >>>> org.hibernate.SessionFactory.openSession()Lorg/hibernate/Session; >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.util.MethodInvoker.invoke(MethodInvoker.java:63) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:43) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) >>>> ... 116 more >>>> Caused by: java.lang.NoSuchMethodError: >>>> org.hibernate.SessionFactory.openSession()Lorg/hibernate/Session; >>>> at >>>> >>>> org.apache.tapestry5.internal.hibernate.HibernateSessionSourceImpl.create(HibernateSessionSourceImpl.java:71) >>>> at $HibernateSessionSource_142885567b0746b3.create(Unknown Source) >>>> at >>>> >>>> org.apache.tapestry5.internal.hibernate.HibernateSessionManagerImpl.<init>(HibernateSessionManagerImpl.java:31) >>>> at >>>> >>>> org.apache.tapestry5.hibernate.modules.HibernateCoreModule.buildHibernateSessionManager(HibernateCoreModule.java:96) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> at >>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.util.MethodInvoker.invoke(MethodInvoker.java:52) >>>> >>>> >>>> Surprisingly, the database structure is correctly read, so >>>> SchemaValidator >>>> and TableMetaData had no issues at all on startup... >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> Forcing Tapestry to use 5.3.8 just for Hibernate related libs results in: >>>> >>>> Caused by: java.lang.RuntimeException: Failure loading Tapestry IoC >>>> module >>>> class org.apache.tapestry5.hibernate.HibernateCoreModule: Error invoking >>>> service binder method >>>> org.apache.tapestry5.hibernate.HibernateCoreModule.bind(ServiceBinder) >>>> (at >>>> HibernateCoreModule.java:45): org/apache/tapestry5/ioc/MethodAdvice >>>> at >>>> org.apache.tapestry5.ioc.RegistryBuilder.add(RegistryBuilder.java:164) >>>> at >>>> >>>> org.apache.tapestry5.ioc.IOCUtilities.addModulesInList(IOCUtilities.java:132) >>>> at >>>> >>>> org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:105) >>>> ... 49 more >>>> Caused by: java.lang.RuntimeException: Error invoking service binder >>>> method >>>> org.apache.tapestry5.hibernate.HibernateCoreModule.bind(ServiceBinder) >>>> (at >>>> HibernateCoreModule.java:45): org/apache/tapestry5/ioc/MethodAdvice >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl.bind(DefaultModuleDefImpl.java:624) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl.<init>(DefaultModuleDefImpl.java:148) >>>> at >>>> org.apache.tapestry5.ioc.RegistryBuilder.add(RegistryBuilder.java:123) >>>> at >>>> org.apache.tapestry5.ioc.RegistryBuilder.add(RegistryBuilder.java:161) >>>> ... 51 more >>>> Caused by: java.lang.NoClassDefFoundError: >>>> org/apache/tapestry5/ioc/MethodAdvice >>>> at java.lang.Class.getDeclaredConstructors0(Native Method) >>>> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) >>>> at java.lang.Class.getConstructors(Class.java:1522) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.util.InternalUtils.findAutobuildConstructor(InternalUtils.java:562) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.ServiceBinderImpl.createStandardConstructorBasedObjectCreatorSource(ServiceBinderImpl.java:146) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.ServiceBinderImpl.createObjectCreatorSourceFromImplementationClass(ServiceBinderImpl.java:129) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.ServiceBinderImpl.flush(ServiceBinderImpl.java:96) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.ServiceBinderImpl.bind(ServiceBinderImpl.java:250) >>>> at >>>> >>>> org.apache.tapestry5.hibernate.HibernateCoreModule.bind(HibernateCoreModule.java:47) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> at >>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at >>>> >>>> org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl.bind(DefaultModuleDefImpl.java:599) >>>> ... 54 more >>>> Caused by: java.lang.ClassNotFoundException: >>>> org.apache.tapestry5.ioc.MethodAdvice >>>> at >>>> >>>> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1293) >>>> at >>>> >>>> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145) >>>> ... 68 more >>>> >>>> >>>> Any other idea? >>>> >>>> Jens >>>> >>>> >>>> >>>> >>>> >>>> Am 11.01.16 um 17:08 schrieb Thiago H de Paula Figueiredo: >>>> >>>> On Mon, 11 Jan 2016 14:06:15 -0200, Jens Breitenstein < >>>> >>>>> mailingl...@j-b-s.de> wrote: >>>>> >>>>> Hi All, >>>>> Hi! >>>>> >>>>> I am migrating an application from T5.3.8 to T5.4. In the past the >>>>> >>>>>> application was based one Hibernate 3x but T5.4 seems to make use of >>>>>> Hibernate 4 explicitly (correct me if I am wrong). So currently I am >>>>>> facing >>>>>> the following exception: >>>>>> >>>>>> I'd try forcing the tapestry-hibernate version to 5.3.8 and leaving >>>>> everything else at 5.4.0 and see whether it works. >>>>> >>>>> >>>>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org