Spring 如何按特定月份提取具有createdAt参数类型Date的所有实体?

Spring 如何按特定月份提取具有createdAt参数类型Date的所有实体?,spring,spring-data-jpa,Spring,Spring Data Jpa,我有一个类,它有一个日期类型的参数 class MyEntity { @CreatedDate @Column(nullable = false, updatable = false) private Date createdAt; } 如何检索createdAt所在的所有实体,即:在5月份?我是否需要使用@Query,或者是否有其他方法来执行它 我需要使用@Query吗 是的) 如何检索createdAt所在的所有实体,即:在5月份 如果您的JPA提供商是Hiber

我有一个类,它有一个日期类型的参数

class MyEntity { 
    @CreatedDate
    @Column(nullable = false, updatable = false)
    private Date createdAt;
}
如何检索createdAt所在的所有实体,即:在5月份?我是否需要使用@Query,或者是否有其他方法来执行它

我需要使用@Query吗

是的)

如何检索createdAt所在的所有实体,即:在5月份

如果您的JPA提供商是Hibernate(我肯定是这样),您可以使用
month()
并在查询中:

@Query(“从MyEntry e where month(e.createdAt)=?1中选择e”)
列表getAllByMonth(整数月);

恐怕@query只提供了一种创建SQL查询的方法,您提出的问题超出了这个引擎的范围。您需要直接在SQL中实现数据过滤逻辑,这可能不是最简单的实现方法,或者在应用程序级别(检索数据并按日期进行过滤)。这两种方式都没有现成的解决方案。