回答

收藏

Spring数据JPA findByDate总是返回一个空列表

技术问答 技术问答 218 人阅读 | 0 人回复 | 2023-09-12

我在我的应用程序中使用它spring-data-jpa 1.9.2,mysql-connector 5.1和hibernate 4.3.11 Final。- m% a" b4 \) ]7 F# g8 k
我的Order具有日期类型的创建属性。
6 k2 o+ S4 f+ c@Entitypublic class Order implements Serializable {private static final long serialVersionUID = 1L;@Id@GeneratedValue(strategy = GenerationType.AUTO)private Long id;private java.util.Date creation;}在我的JpaRepository根据日期,我有以下两种方法可以获得订单:
2 E, t1 w' ]1 n% PList findByCreation(Date date);@Query("select o from Order o where o.creation = ?1")List findByCreation2(Date date);我不例外,但总是空列表,这可以帮助你理解:, p: `& ?% a3 z* \
Date date = new Date();Order order = new Order(date);orderRepository.save(order);Date creationFromDB = orderRepository.findOne(1L).getCreation();System.out.println("eq? : "  creationFromDB.equals(order.getCreation()));List ods = orderRepository.findByCreation(creationFromDB);List ods2 = orderRepository.findByCreation2(creationFromDB;System.out.println("\n ods.size: "   ods.size()  ",ods2.size: " ods2.size());输出为:. D9 O, T" \2 ]0 _. Q2 \
eq? : trueods.size: 0,ods2.size: 0笔记" Y' l- c% }. P# L
正确执行选择请求两次:1 i7 K( ~* T2 p! T$ t
DEBUG org.hibernate.SQL - select order0_.id as id2_4_,order0_.creation as creation3_4_ from Orders order0_ where order0_.creation=?我想念什么?
4 ?$ {, x  L) b- d" W/ A                                                               
2 D- _8 s, D. T5 f1 d# S8 ]1 q+ c    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则