Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过SpringDataJPA框架进行定制搜索?_Java_Jpa_Spring Data - Fatal编程技术网

Java 如何通过SpringDataJPA框架进行定制搜索?

Java 如何通过SpringDataJPA框架进行定制搜索?,java,jpa,spring-data,Java,Jpa,Spring Data,我对使用SpringDataJPA非常陌生,但它看起来很有前途。我使用它使我的应用程序中的所有存储库如下所示: public interface CustomerRepository扩展了JpaRepository、JpaSpecificationExecutor 我看到有一个methode调用findAll(Specification)来进行定制搜索 公共谓词toPredicate(根、, CriteriaQuery q,CriteriaBuilder cb) 我对如何做谓语感到很困惑。我试着

我对使用SpringDataJPA非常陌生,但它看起来很有前途。我使用它使我的应用程序中的所有存储库如下所示:
public interface CustomerRepository扩展了JpaRepository、JpaSpecificationExecutor

我看到有一个methode调用
findAll(Specification)
来进行定制搜索
公共谓词toPredicate(根、,
CriteriaQuery q,CriteriaBuilder cb)
我对如何做谓语感到很困惑。我试着用这个例子来说明问题

公共静态规范isLongTermCustomer(){
返回新规范(){
谓词toPredicate(根根、标准查询、,
标准生成器(生成器){
LocalDate日期=新的LocalDate().minusYears(2);
返回builder.lessThan(root.get(Customer.createdAt),日期);
}
};
}
我不明白
Customer\uu.createdAt
来自哪里。任何帮助都将不胜感激:)

客户
来自JPA 2.0静态元模型,该模型应通过特殊工具生成,如

如果不想生成静态元模型,可以执行以下操作:

return builder.lessThan(root.<LocalDate>get("createdAt"), date); 
返回builder.lessThan(root.get(“createdAt”),日期);
谢谢:)我尝试使用hibernate jpamodelgen。它生成元模型,但将其放在目标目录中。这里有一个在eclipse中如何使用它的guid。我使用EclipseHelios,在那里找不到注释处理。你知道如何将它包含在我的类路径中吗这里是我的插件“org.apache.maven.plugins maven编译器插件1.6 1.6 org.hibernate.jpamodelgen.jpametametamodelenticyprocessor”
return builder.lessThan(root.<LocalDate>get("createdAt"), date);