【发布时间】:2019-10-16 19:53:43
【问题描述】:
所以,有这样的方法spring-jpa存储库:
@Query(value = "SELECT user.endWork - user.startWork AS duration FROM USER_TABLE where id in (?1)", nativeQuery = true)
Timestamp getDuration(String id);
当我尝试获取两个时间戳之间的持续时间时,出现关于
的错误引起:org.hibernate.MappingException:没有方言映射 JDBC 类型:-104
但是如果我这样写这个sql:
@Query(value = "SELECT user.endWork AS duration FROM USER_TABLE where id in (?1)", nativeQuery = true)
Timestamp getDuration(String id);
它工作正常,没有错误。使用oracle+jpa时如何计算两个时间戳的差异?
对于附加信息,用户表是这样的:
User
String id;
String name;
Timestamp startWork;
Timestamp endWork;
我使用 Oracle 11g 数据库,JPA(Hibernate 属性)配置如下:
properties.put("hibernate.dialect", "org.hibernate.dialect.OracleDialect");
【问题讨论】: