java - 在构造函数上使用带有时间戳的 JPA SELECT NEW 时出错

标签 java hibernate jpa

我有以下 JPA 查询:

SELECT NEW test.vo.HappyVO(o.acid, o.dest, o.dep, o.time) FROM HappyTable1 o

我的 HappyVO 具有以下构造函数:

public HappyVO(String a, String b, String c, java.sql.Timestamp e)

当我运行此查询时,出现以下错误:

 org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate appropriate constructor on class [test.vo.HappyVO]

如果我将构造函数更改为

public HappyVO(String a, String b, String c, Object e)

错误没有发生,变量e是java.sql.Timestamp的一个实例

忘了说我用的是MySQL数据库,列是时间戳类型,HappyTable1中时间字段的声明类型是java.sql.Timestamp

最佳答案

它看起来很像这个已知的 Hibernate 错误:https://hibernate.atlassian.net/browse/HHH-4179

建议的解决方法是在 POJO 构造函数中使用 Date 类型。

关于java - 在构造函数上使用带有时间戳的 JPA SELECT NEW 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773424/

相关文章:

java - 映射与 Hibernate 的关系

java - TabLayout 中点之间的间距

Hibernate:多对多连接表的标准?

java - JPA的批量更新触发TransactionalEventListener?

java - 具有 native 查询的存储库在测试环境中失败 - postgres、jpa、spring

java - 如何在 Spring Data JPA 中查找具有 OneToMany 关系的 cortege

java - 如何使用 HandlerThread 类将单独的循环器传递给线程

java - 如何使用反射递归序列化对象?

java - 在 Hudson 中通过 JUnit 运行 Selenium 测试

java - Hibernate - 如何提供对整数类型的正确映射?