我想创建一个表单,根据表单输入为我生成sql查询。使用Spring数据JPA,如何创建一个过滤器表单的动态查询
例如,我有一张表People [id,name,age]和一个带有两个字段的表格: 名称和年龄。
如果所有的两个字段的形式完成,查询将是这样的:
List<People> findByNamendAge(String name, Int age);
但是,如果只有名称被填满,我想告诉所有对应的人,只是这个名字,尽管年龄是空白的。
(当然,在这个例子中,我可以创建一个findByName(String name)
和finByAge(Int age)
,如果/人会做一个简单的,但我真正的问题envolves含有大量的输入滤波器)
我想你看看做查询的例子。 Spring数据有[此模块](https://github.com/spring-projects/spring-data-examples/tree/master/jpa/query-by-example)。 –
你应该看看如何使用QueryDSL扩展的Spring数据请参阅:https://stackoverflow.com/questions/26449410/what-is-the-best-solution-for-filtering-results-in-spring-data-jpa- with-many-pro/26450224#26450224和https://stackoverflow.com/a/33647084/1356423 –