我有一个使用这些技术的项目,我得到了一些问题。第一个是这个错误:
org.apache.tapestry5.ioc.internal.util.TapestryException:构造服务“”ValueEncoderSource“”时出现异常:调用服务生成器方法org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,列表时出错(在TapestryModule.java:1910) (对于服务“”ValueEncoderSource“”):调用服务贡献方法时出错(boolean boolean,HibernateSessionSource,Session,TypeCoercer,PropertyAccess,LoggerSource):构造服务“”HibernateSessionSource“”时出现异常:调用服务生成器方法org.apache.tapestry5.hibernate.HibernateCoreModule.buildHibernateSessionSource(Logger,InvalidationEventHub时出错,“”RegistryShutdownHub) (在HibernateCoreModule.java:123) (用于服务“”HibernateSessionSource“”):不能将org.hibernate.validator.event.ValidateEventListener强制转换为classpath:org/apache/tapestry5/corelib/components/ExceptionDisplay.tml,第3行的org.hibernate.event.PreInsertEventListener
这使用了最新的hibernate注解(3.4.0GA版)。在Maven pom.xml中,如果我将org.hibernate依赖项更改为:
org.hibernate hibernate-annotations 3.2.1.ga 错误消失了,但我们丢失了较新版本注释的错误修复。有谁知道解决这个问题的方法吗?
发布于 2009-06-11 11:31:23
您是否碰巧部署到具有自己的Hibernate库的应用服务器上,比如JBoss?在这种情况下,您可能混合了Hibernate Core和Hibernate注释的不兼容版本。
尝试删除应用程序服务器附带的Hibernate JAR,看看是否有效。
发布于 2009-06-19 13:16:45
是的,我已经使用所有这些技术构建了一个web应用程序。不过,我没有使用tapestry-hibernate模块,只使用tapestry- Spring,并让Spring处理所有的数据库/ hibernate /事务。
你的问题,尤其是你描述的修复问题,听起来真的像是库兼容性问题。您使用的是什么版本的Tapestry?
对于5.1版本的tapestry-hibernate,它说
这个库是针对3.3.1.GA版本的Hibernate (和3.4.0.GA版本的hibernate-annotations)编译的,但应该可以与更新的版本一起使用。
在Tapestry网站上,所以您应该可以接受。
发布于 2009-06-11 09:30:09
我用过spring,hibernate和CXF。CXF用于将我的接口服务转换为web服务。比我看过的任何其他web服务框架都更容易使用。
https://stackoverflow.com/questions/979974
复制相似问题