Spring 数据 JPA - 日期减去 2 天的查询不起作用
Spring Data JPA - query with the date minus 2 days not working
我有这个查询更新了一些比 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);
实际上,JPA 不支持时间段操作,因为并非所有数据库都支持它。所以你有以下选择:
- 以编程方式计算日期(即使用日历 API 或 Java 8 日期时间 API)
- 使用本机查询
- 如果您的 JPA 提供商允许,请使用具体实现。但是 AFAIK 流行的 JPA 供应商不给你这样的选择。
我有这个查询更新了一些比 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);
实际上,JPA 不支持时间段操作,因为并非所有数据库都支持它。所以你有以下选择:
- 以编程方式计算日期(即使用日历 API 或 Java 8 日期时间 API)
- 使用本机查询
- 如果您的 JPA 提供商允许,请使用具体实现。但是 AFAIK 流行的 JPA 供应商不给你这样的选择。