当前位置: 首页 > 知识库问答 >
问题:

无法实例化默认元组化程序异常

林和畅
2023-03-14

最近我更新了我的Hibernate从3.1到4.3,我正在尝试使用注释而不是xml。使用Xml,一切都运行良好,注释会抛出一堆异常。最后一个我被卡住的是下面的堆栈痕迹,请给它一些启示。我非常需要帮助,因为堆栈跟踪没有给我任何特定的工作区域。我使用的是Hibernate 4.3 java辅助3.18

我试着使用javaassistjar,这是每个人都建议的,但是din;我帮不了我。然而,我有我的疑问,buildSessionFactory在Hibernate4.5中被弃用了,这是罪魁祸首吗?如果有什么帮助的话,就包括我的冬眠

                connProperties.setProperty( "hibernate.connection.datasource", "java:comp/env/" + MASTER_JDBC_RESOURCE_NAME );
                configuration = new Configuration();
                configuration.addProperties(connProperties);
                sessionFactory = configuration.configure().buildSessionFactory();
                Properties hibernateProperties = configuration.getProperties();
                for (Object k : hibernateProperties.keySet()) {
                    System.out.println("Hibernate Key "+k.toString());
                }
                String testCon = hibernateProperties.getProperty("hibernate.test_connections");
                testConnections = StringUtils.stringToBool(testCon);

我的堆栈跟踪

组织。冬眠HibernateException:无法在org上实例化默认的tuplizer[org.hibernate.tuple.component.PojoComponentTuplizer]。冬眠元组。组成部分组件化工厂。org上的constructUplizer(componentUplizerFactory.java:101)。冬眠元组。组成部分组件化工厂。org上的constructDefaultTuplizer(ComponentTuplizerFactory.java:122)。冬眠元组。组成部分组件元模型。(ComponentMetamodel.java:81)位于org。冬眠映射。组成部分org上的getType(Component.java:180)。冬眠映射。简单价值。isValid(SimpleValue.java:322)位于org。冬眠映射。根类。在org上验证(RootClass.java:271)。冬眠cfg。配置在org上验证(Configuration.java:1360)。冬眠cfg。配置buildSessionFactory(Configuration.java:1851)位于org。冬眠cfg。配置wadetech上的buildSessionFactory(Configuration.java:1930)。DB。基础冬眠动物。(HibernateUtils.java:111)在wadetech。DB。基础巴谢道。(BaseDAO.java:43)在wadetech。DB。道斯__维护道。(_MaintenanceDAO.java:10)在com上。在项目乌提尔斯。运行时。运行时修改器。HasExecuted(RuntimeModifier.java:127)在wadetech上执行。听众。ModificationScriptStartupListener。contextInitialized(ModificationScriptStartupListener.java:47)位于org。阿帕奇。卡塔琳娜。果心标准上下文。listenerStart(StandardContext.java:5016)位于org。阿帕奇。卡塔琳娜。果心标准上下文。startInternal(StandardContext.java:5528)位于org。阿帕奇。卡塔琳娜。util。生命周期酶。在org上启动(LifecycleBase.java:150)。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。在org上调用(ContainerBase.java:1575)。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。在java上调用(ContainerBase.java:1565)。util。同时发生的未来任务。在java上运行(FutureTask.java:262)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1145)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:615)。朗。丝线。运行(Thread.java:745)的原因是:java。朗。反思。在太阳上调用targetException。反映国家结构附件MPL。sun上的newInstance0(本机方法)。反映国家结构附件MPL。sun上的newInstance(NativeConstructorAccessorImpl.java:57)。反映删除构造函数或AccessorImpl。java上的newInstance(DelegatingConstructorAccessorImpl.java:45)。朗。反思。构造器。org上的newInstance(Constructor.java:526)。冬眠元组。组成部分组件化工厂。constructUplizer(componentUplizerFactory.java:98)。。。22更多原因:org。冬眠PropertyNotFoundException:在类java中找不到属性字节的setter。org上的lang.String。冬眠所有物基本属性访问器。org上的createSetter(BasicPropertyAccessor.java:246)。冬眠所有物基本属性访问器。位于org的getSetter(BasicPropertyAccessor.java:240)。冬眠映射。所有物位于org的getSetter(Property.java:328)。冬眠元组。组成部分POJOC组件耦合器。org上的buildSetter(PojoComponentTuplizer.java:159)。冬眠元组。组成部分抽象组件化器。(AbstractComponentUplizer.java:65)位于org。冬眠元组。组成部分POJOC组件耦合器。(PojoComponentTuplizer.java:59)。。。还有27个

谢谢任何帮助

共有1个答案

单品
2023-03-14

我在谷歌上搜索了一个解决方案,不幸的是,大多数为别人解决的答案都不能帮助我。下面提到了几个投票最多的答案:

  1. javaassist的使用。jar并确保在使用它时与hibernate版本兼容。对于Hibernate4.3。11 javaassist 3.18还可以
  2. 确保为所有属性定义匹配的getter/setter

我的案例与案例2类似,所以如果有人遇到这些错误,并且案例1对您没有帮助,那么您唯一能做的就是使用表和列名对实体类进行全面检查和比较。对我来说,我的任务是将映射从XML移动到注释,任何因迁移而面临问题的人都需要用相应的实体类进行交叉检查。哈佛商学院。xml文件

 类似资料:
  • 问题内容: 我正在使用Hibernate开发应用程序,并且在与数据库连接时出现异常。例外是: 我的映射文件是: 和不包含getter / setter的类: 我已经包含在classpath中。我不知道是什么问题。有人可以帮我。 谢谢! 我发现了启动错误的时间。如果我在映射文件中包含属性,则会引发异常。如果仅声明表的ID,则不会引发异常。可能的原因是什么? 完整的堆栈跟踪为: 问题答案: 当我遇到此

  • 问题内容: 我正在使用Hibernate框架开发Web应用程序。尝试运行webapp时出现此错误。 错误控制台: 我的映射文件(hbm.xml): DataAccessObject文件代码: 在上面的代码中,抛出了异常-在catch中的字符串显示在控制台的错误中。 这是我的bean或POJO文件: 我检查了其他线程解决方案。 我已包含文件 所有的setter和getter都没有错别字。 我也有。

  • 有人知道是什么引起的吗?我正在使用Springsource工具套件开发我的应用程序。postgres驱动程序位于web-inf/lib/postgresql-9.1-902.jdbc4.jar下 非常感谢任何帮助!谢谢!

  • 我在我的Android应用程序中面临奇怪的问题。它总是给我错误的名字 JAVAlang.RuntimeException:无法实例化应用程序io。日本动画。应用程序。应用程序:java。lang.ClassNotFoundException:在路径:DexPathList[[zip文件”//data/app/io.hitanime.app-957U27HR57arXVvYGSCFSQ==/base

  • 我试图使用Postgis 2.2和Postgreql 9.5与JPA,Postgis 9.5方言。我已经在pom.xml的要求,按这里http://www.hibernatespatial.org/documentation/documentation/和类型导入正确,但是当我试图运行程序使用几何类型我得到这个错误: 我显然遗漏了一些配置,有人能指出是什么吗?

  • 我在MapFragment的布局文件中出现了这个错误 我试过了 > 安装Google Play服务,但仍有错误 - com.google.android.gms.maps.MapFragment(开放类,显示异常,清除缓存) 提示:在自定义视图中使用view.isinEditMode()跳过代码或在IDE中显示示例数据。 如果这是一个意外错误,您也可以尝试构建项目,然后手动刷新布局。 异常详细信息