我正在尝试使用Spring JPA的投影来过滤查询结果中的不必要数据。但是,我有多个投影需要在同一个接口方法上使用。
问题是,我正在尝试使用不同的返回对象从同一方法中查询数据,但Java不允许这样做。
查询是根据方法名自动生成的,因此我不能更改方法名。
除了创建新接口之外,是否有其他替代方案,因为我认为这很麻烦且不必要。
以下是我想要实现的示例代码:
问题是,我正在尝试使用不同的返回对象从同一方法中查询数据,但Java不允许这样做。
查询是根据方法名自动生成的,因此我不能更改方法名。
除了创建新接口之外,是否有其他替代方案,因为我认为这很麻烦且不必要。
以下是我想要实现的示例代码:
自动生成的查询
public interface UserRepository extends CrudRepository<UserAccount, Long> {
AuthenticateProjection getByUsername(String username);
UserDetailsProjection getByUsername(String username);
}
投影
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();
}