我试图使用Spring数据JPA投影来获得我的数据库中的特定列。在我的设置中,我有我的实体类,它具有代表列的字段,并且我还创建了一个视图来获取投影数据。我在在存储库类中创建方法时遇到问题。我想获得该视图的数据库中的所有行(我不想有一个查询,像getPersonViewById),但Spring抱怨:
java.lang.IllegalArgumentException: Failed to create query for method
当我改变方法在仓库getPersonViewById()它工作得很好。
知道如何在存储库类中查询吗?下面是我的代码:
@Entity
public class Person {
@Id
@Column (name = "id")
private final UUID id;
@Column (name = "name")
private String name;
@Column (name = "address")
private String address;
public UUID getId () {
return id;
}
public String getName () {
return name;
}
public interface PersonView {
String getName();
String getId();
}
}
@Repository
public interface PersonRepository extends Repository<Person, Long> {
List<PersonView> getPersonView ();
}
我找到了答案。如果我使用getPersonViewBy(),在方法名中没有"By"之后的任何内容,它将返回所有行。