这里有两个查询应该完全相同,除了一个标记为本地语言而另一个没有。第一个正常工作,但第二个由于“转换中不兼容的数据类型”而失败。
这将生成查询语句:
这将生成查询语句:
@Transactional(readOnly = true)
@Query(value = "select startDate from TaskMetrics where startDate between :startDate and :endDate")
List<DateTime> findStartDateByStartDateBetween(@Param("startDate") DateTime startDate,
@Param("endDate") DateTime endDate);
这将生成查询语句:
select taskmetric0_.startDate as col_0_0_ from TaskMetrics taskmetric0_ where taskmetric0_.startDate between ? and ?
使用绑定
binding parameter [1] as [TIMESTAMP] - [2015-02-02 10:57:14.279]
binding parameter [2] as [TIMESTAMP] - [2015-02-04 10:57:14.281]
-
@Transactional(readOnly = true)
@Query(nativeQuery = true, value = "select startDate from TaskMetrics where startDate between :startDate and :endDate")
List<DateTime> findStartDateBetween(@Param("startDate") DateTime startDate,
@Param("endDate") DateTime endDate);
这将生成查询语句:
select startDate from TaskMetrics where startDate between ? and ?
只需一个绑定,这似乎有点奇怪(特别是为什么是 #2?):
binding parameter [2] as [VARBINARY] - [2015-02-04T10:57:14.315-05:00]
我正在使用Hibernate 4.3.8.Final作为我的JPA 2.1提供者,并且使用Jadira Usertype 3.1.0.CR10支持JodaTime。
我做错了什么或者这是一个bug吗?
在这里开了一个bug - https://jira.spring.io/browse/DATAJPA-671