我有一个具有 2
java.util.Date
属性的实体,像这样(为简洁起见省略了一些注释和细节):
public class Artifact {
@Column(name = "modified")
private Date modified;
@Column(name = "last_deployed")
private Date lastDeployed;
}
在存储库(扩展
JpaRepository<>
)中,我需要一个查询方法来返回Artifact
的所有实例,其中lastDeployed
是null
或在modified
日期之前。根据文档,这个方法名称似乎应该有效:
Stream<Artifact> findByLastDeployedIsNullOrModifiedIsAfterLastDeployed();
但是,当 Spring Date 启动并尝试生成存储库代理时,这会导致以下错误:
org.springframework.data.mapping.PropertyReferenceException: No property isAfterLastDeployed found for type Date! Traversed path: Artifact.modified.
我也尝试过使用
IsGreaterThan
、IsBefore
等查询方法名称的变体,但都会产生类似的错误,其中 Spring Data 似乎认为查询关键字是属性名称的一部分。
我如何构造一个查询方法名称来比较我需要的实体中的两个日期?