我试图使用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)