代码之家  ›  专栏  ›  技术社区  ›  Ramon De Les Olives

Spring数据JPA-查询日期减去2天不工作

  •  4
  • Ramon De Les Olives  · 技术社区  · 7 年前

    我有一个查询,更新了比2天前更高的一些价格,但不起作用

      @Transactional
        @Modifying
        @Query("update HotelDailyPrice hdp  set hdp.price = (select avg (hp.price) "
                + "from HotelPrice hp where hp.id = ?1 and hp.updateDate > CURRENT_DATE - 2), hdp.day = ?2 ")
        void updateDailyAveragePrice (Hotel hotel, String dayDate);
    
    1 回复  |  直到 7 年前
        1
  •  8
  •   asm0dey    7 年前

    实际上,JPA不支持时间段操作,因为并非所有数据库都支持它。所以你有以下选择:

    1. 以编程方式计算日期(即使用日历API或Java 8日期时间API)
    2. 使用本机查询
    3. 如果您的JPA提供者允许,请使用具体的实现。但是AFAIK流行的JPA提供商并没有给你这样的选择。