相关疑难解决方法(0)

Spring JPA:在同一查询界面上使用多个投影

我试图使用Spring JPA的投影从查询结果中过滤掉不必要的数据.但是,我有多个投影需要在同一个接口方法上使用.

问题是,我试图用不同的返回对象查询来自同一方法的数据,但java不允许这样做.

该查询由JPA根据方法名称自动生成,因此我无法更改方法名称.

除了创建一个新界面之外,还有其他选择,因为我觉得这很麻烦且不必要

这是一个示例代码,我正在尝试做什么.

自动生成的查询

public interface UserRepository extends CrudRepository<UserAccount, Long> {

    AuthenticateProjection getByUsername(String username);

    UserDetailsProjection getByUsername(String username);

}
Run Code Online (Sandbox Code Playgroud)

预测

public interface AuthenticateProjection {

    @Value("#{target.username}")
    String getUsername();

    @Value("#{target.credentail.token}")
    String getHashPassword();
}

public interface UserDetailsProjection {

    @Value("#{target.username}")
    String getUsername();

    @Value("#{target.firstname}")
    String getFirstName();

    @Value("#{target.lastname}")
    String getLastName();
}
Run Code Online (Sandbox Code Playgroud)

java spring jpa

3
推荐指数
1
解决办法
3035
查看次数

标签 统计

java ×1

jpa ×1

spring ×1