使用 Jadiru Joda/Hibernate 持久用户类型时出现 AbstractMethodError

2024-04-22

我已经向我的 MySQL TIMESTAMP 类型的用户数据库引入了一个“已创建”列。我正在尝试使用 Jadiru 的 UserType Hibernate 映射器将其映射到 Joda LocalDateTime。我正在使用 UserType 类的 v2.0,并且尝试过 Hibernate 的 v 3.6.0 和 3.6.7。我使用的是 JDK 1.6。该数据访问层用作 Spring 3 Web 应用程序的一部分。

这是我的持久性对象的相关部分 -

@Column(name = "created")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime") 
private LocalDateTime created;

没什么太复杂的,但每当我的 UserDAO 尝试查询表时,我都会收到以下异常 -

java.lang.AbstractMethodError: org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime.nullSafeGet(Ljava/sql/ResultSet;[Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
        at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:109)
        at org.hibernate.type.AbstractType.hydrate(AbstractType.java:104)
        at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2283)
        at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1527)
        at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1455)
        at org.hibernate.loader.Loader.getRow(Loader.java:1355)
        at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:611)
        at org.hibernate.loader.Loader.doQuery(Loader.java:829)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
        at org.hibernate.loader.Loader.doList(Loader.java:2533)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
        at org.hibernate.loader.Loader.list(Loader.java:2271)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
        at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:921)
        at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:1)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
        at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
        at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
        at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:908)
        at com.vox.dao.UserDAO.getUser(UserDAO.java:27)
        at com.vox.security.DashboardAuthenticationProcessingFilter.successfulAuthentication(DashboardAuthenticationProcessingFilter.java:30)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
        at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:637)

我尝试将所有注释放在方法而不是字段上,但存在同样的问题。

我还尝试过映射不同的列类型,例如将 DATE 映射到 LocalDate,将 TIME 映射到 LocalTIME,但每个列类型都会给出类似的错误。

我尝试的另一件事是使用条件查询而不是基于模板的查询。这并没有影响问题。

我检查了类路径中是否有重复的库,但似乎没有。

我的设置显然有问题,正如 UserType 文档所说,这应该可以正常工作。谷歌没有搜索到此错误。请有人指出我正确的方向吗?

Thanks,

Dan


不是解决方案,而是指针/提示:签名nullSafeGet看起来很奇怪。它应该是

public T nullSafeGet(ResultSet resultSet,
                 String[] strings,
                 org.hibernate.engine.spi.SessionImplementor session,
                 Object object)
          throws SQLException

但 hibernate 调用了nullSafeGet没有SessionImplementor范围。所以实际的CustomType类可能定义一个抽象nullSafeGet实际实现者中未实现的方法PersistentLocalDateTime(它只是实现了具有不同参数的方法)

也许您的 joda 和 hibernate 版本不兼容。我会再次朝这个方向进行调查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Jadiru Joda/Hibernate 持久用户类型时出现 AbstractMethodError 的相关文章

随机推荐

  • Android 上的 React 本机异步存储限制

    我正在开发一个 React Native 应用程序 它很容易超过 6mb 的限制 根据this https github com facebook react native blob master ReactAndroid src main
  • Spring Neo4j:通过不同控制台执行时相同的密码查询花费不同的时间

    通过不同控制台执行相同的密码查询会花费不同的时间 通过执行spring data neo4j 花了 8 秒 Query MATCH user User uid 0 FRIEND friend User RETURN friend publi
  • 无法使用 ShopifyAPI 更新变体价格

    我面临一个问题 无法使用 ShopifyAPI 更新变体的价格 更新变体的价格时 出现错误 remote errors validation context nil errors gt messages base gt 选项不唯一 根据另一
  • React Native SDK 与 expo SDK 不兼容

    当我使用 expo 运行 React Native 项目时 出现此错误 此项目使用 SDK 38 0 0 但此版本的 Expo Go 仅支持以下 SDK 43 00 42 0 0 41 0 0 40 0 0 加载项目 必须更新到受支持的 S
  • Vue 绑定到外部对象

    我正在尝试使用 Vue 作为一个非常薄的层来将现有模型对象绑定到视图 下面是一个玩具应用程序 说明了我的问题 我有一个GainNode https developer mozilla org en US docs Web API GainN
  • 如何在 Jenkins Build Execute Shell 中运行 docker 命令

    我是詹金斯的新手 我一直在四处寻找 但找不到我要找的东西 我想知道如何在 Jenkins 中运行 docker 命令 构建 执行 Shell 例子 docker run hello world 我在 Jenkins 配置系统中将 Docke
  • 设置纵横比时 Pyplot imshow 不显示方形像素

    我在使用 Pyplot 时遇到一些问题imshow从 numpy 中绘制图像ndarray called data保持其纵横比和方形像素 的形状ndarray is 112 2182 这是我正在使用的代码 import matplotlib
  • NDS 求解波动方程时的不稳定性

    我正在尝试使用NDSolve求解波动方程 以检查使用它是否比我的旧特征方程更容易和 或更快 方法实施 我得到了很多特征方法没有得到的不稳定性 并且由于这些是简单的方程 我想知道出了什么问题 希望不是问题的物理方面 ans Flatten N
  • 如何在 ZedGraph 中同步三个 GraphPane?

    使用时ZedGraph要在三个 GraphPane 上显示六个图表 如第一张图片所示 所有图表都是同步的 但是 当我尝试显示第一个窗格的日期时 图表不同步 如第二张图片所示 重要的是所有六个图表保持同步 以便用户理解整个图表 我已经按照建议
  • MaterialApp 构建器错误:找不到覆盖小部件

    我在构建 navigationDrawer 时遇到错误 其中 tootlip 小部件需要 MaterialApp 作为祖先 这是错误的内容 I flutter 5780 TooltipState bc79e ticker inactive
  • 是否有一种简洁的方法可以使用现有数据的副本生成新线程?

    我正在尝试生成几个新线程 其中每个线程都有自己的copy某个州的 我想要的是这样的 use std thread fn main let data vec 42 10 let more data Important data to stri
  • Python 从子进程调用 raw_input

    我正在使用 subprocess 从下面的脚本中调用 python 脚本 用户从命令行使用 raw input 选择要打开的文件 import optparse import subprocess import readline impor
  • 有些人讨厌的默认 ASP.NET MVC AccountController 代码有哪些特点?

    我读过一些人的来信 西蒙 基亚雷塔 http codeclimber net nz archive 2009 10 27 12 asp net mvc best practices aspx 塞巴斯蒂安 兰布拉 http exposurer
  • pandas 列相关性具有统计显着性

    给定 pandas 数据框 df 来获取其列之间的相关性的最佳方法是什么df 1 and df 2 我不希望输出计算行数NaN which pandas内置相关性可以 但我也希望它输出pvalue或标准错误 而内置错误则不然 SciPy似乎
  • 模型中 Authlogic 的 current_user 对象

    我需要知道模型中当前用户的 ID def after save desc points nil nil if answer index daily question correct answer index desc I18n t dail
  • 无法启动 API 29 模拟器 (Android 10)

    正如标题所说 我尝试创建一个 Android 10 模拟器 当尝试启动模拟器时没有任何反应 只有手机出现在屏幕上 但设备屏幕保持黑色 我没有收到任何错误 我已经等待但没有任何反应曾经发生过 当我触摸关闭按钮时 我收到 AVD Pixel 4
  • 如何从亚马逊s3存储桶中删除文件?

    我需要用 python 编写代码 从 Amazon s3 存储桶中删除所需的文件 我可以连接到 Amazon s3 存储桶 也可以保存文件 但如何删除文件 Using boto3 当前版本1 4 4 使用S3 Object delete h
  • 致命错误:在非对象上调用成员函数 query()

    我正在使用 pdo 并且我已在配置文件中设置连接字符串 例如 db new PDO mysql host localhost dbname mydbname root pass 我在类中的方法 函数中有此查询 query db gt que
  • 硒 + 火狐 + HTTPS

    好的 我知道我问的是一个老生常谈的问题 但我发布这个问题是因为尽管尝试了各种链接上提供的所有解决方案 但我的问题仍未得到解决 我的限制 我不想使用保存的 Firefox 配置文件来保存网站的证书 Selenium 服务器版本 2 0b3 尝
  • 使用 Jadiru Joda/Hibernate 持久用户类型时出现 AbstractMethodError

    我已经向我的 MySQL TIMESTAMP 类型的用户数据库引入了一个 已创建 列 我正在尝试使用 Jadiru 的 UserType Hibernate 映射器将其映射到 Joda LocalDateTime 我正在使用 UserTyp