spring-data-jpa projection-get投影列的所有行

c86crjj0  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(380)

我正在尝试使用springdatajpa投影来获取数据库中的特定列。在我的设置中,我有一个entity类,它包含表示列的字段,而且我还创建了一个视图来获取投影数据。我在repository类中创建方法时遇到问题。我想获取数据库中该视图的所有行(我不想有一个查询,比如getpersonviewbyid),但是spring抱怨:

java.lang.IllegalArgumentException: Failed to create query for method

当我将存储库中的方法更改为getpersonviewbyid()时,它可以正常工作。
你知道这个查询在repository类中是如何实现的吗?以下是我的代码:

@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 ();
}
csga3l58

csga3l581#

我找到了答案。如果我使用getpersonviewby(),方法名中的'by'后面没有任何内容,它将返回所有行。

相关问题