Spring JPA 存储库 & JSR310 & 本机查询
Spring JPA repositories & JSR310 & native queries
似乎 JSR310 Type Instant 在本机查询中绑定为 VARBINARY:
@Query(value = "select * from state_entry where timestamp > ?1 and deleted = false limit 10", nativeQuery = true)
日志输出:
2015-01-29 15:41:26.685 TRACE 12250 --- [ XNIO-1 task-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARBINARY] - [2015-01-26T13:24:07Z]
等效的 JPA 查询可以正常工作:
@Query("FROM StateEntry where timestamp > ?1")
日志输出:
2015-01-29 15:50:37.228 TRACE 12791 --- [ XNIO-1 task-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [2015-01-26T13:24:07Z]
2015-01-29 15:50:37.228 TRACE 12791 --- [ XNIO-1 task-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [2015-01-26 14:24:07.0]
是否有解决方法,或者我是否必须在本机查询中使用 java.util.Date?
我正在使用 spring-data-jpa 1.8.0 M1 顺便说一句。
显然它按设计工作(JPA 规范)。
https://jira.spring.io/browse/DATAJPA-671
似乎 JSR310 Type Instant 在本机查询中绑定为 VARBINARY:
@Query(value = "select * from state_entry where timestamp > ?1 and deleted = false limit 10", nativeQuery = true)
日志输出:
2015-01-29 15:41:26.685 TRACE 12250 --- [ XNIO-1 task-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARBINARY] - [2015-01-26T13:24:07Z]
等效的 JPA 查询可以正常工作:
@Query("FROM StateEntry where timestamp > ?1")
日志输出:
2015-01-29 15:50:37.228 TRACE 12791 --- [ XNIO-1 task-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [2015-01-26T13:24:07Z]
2015-01-29 15:50:37.228 TRACE 12791 --- [ XNIO-1 task-2] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [2015-01-26 14:24:07.0]
是否有解决方法,或者我是否必须在本机查询中使用 java.util.Date?
我正在使用 spring-data-jpa 1.8.0 M1 顺便说一句。
显然它按设计工作(JPA 规范)。 https://jira.spring.io/browse/DATAJPA-671