【发布时间】:2016-02-17 06:18:22
【问题描述】:
这是我的代码。当我使用 mysql 查询进行搜索时,查询工作正常(在屏幕截图中找到)。但是休眠查询失败。
EmployeeAttendanceMaster masterEmployeeFromRepository = masterEmployeeRepository.findById(employee, date);
if (masterEmployeeFromRepository == null) {
System.out.println("SignIn Successfully");
}else System.out.println("You are already Logged In");
masterEmployeeRepository:
@Query("select me from EmployeeAttendanceMaster me where me.employee = ?1 and Date(me.date) = ?2 order by me.date desc")
EmployeeAttendanceMaster findById(Employee employee,Date date);
mysql db screenshot in with same query
数据库中具有相同日期的数据..所以它不应该通过 if 条件。它应该遵循 else 条件。但只要我尝试这个它就会打印“成功登录”
提前感谢
【问题讨论】:
-
你为什么有
Date(me.date) = ?2?你试过me.date = ?2吗?EmployeeAttendanceMaster.date列的数据类型是什么? -
数据库中的日期是 2016-02-17 11:58:11 .. 我只想要日期 ..这就是我在实体表中使用它的原因:@JsonSerialize(using = CustomLocalDateTimeSerializer.class) @JsonDeserialize (使用 = CustomLocalDateTimeDeserializer.class)私有 LocalDateTime 日期;
-
@Query的完整数据类型是什么?你在使用 Spring Data JPA 吗? -
我没听明白..什么是完整数据类型..??我们使用的是spring和hibernate..
-
类的完整数据类型是它的完全限定类型名称。例如
String类的完整数据类型为java.lang.String,@Documented注解的完整数据类型为java.lang.annotation.Documented等等。
标签: mysql hibernate spring-data-jpa