我有以下 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/