我想使用Spring JPA的投影從查詢結果中篩選出不必要的數據。但是,我有多個預測需要在相同的接口方法上使用。Spring JPA:在同一查詢接口上使用多個投影
問題是,我試圖用不同的返回對象從同一個方法中查詢數據,但java不允許這樣做。
該查詢是由JPA根據方法名稱自動生成的,因此我無法更改方法名稱。
是否有替代方案,比創建一個新的接口等,因爲我認爲這是一個麻煩和不必要的
這裏是一個示例代碼,我試圖做的。
Auto-Generated Query
public interface UserRepository extends CrudRepository<UserAccount, Long> {
AuthenticateProjection getByUsername(String username);
UserDetailsProjection getByUsername(String username);
}
Projections
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();
}
調用查詢方法 - 這是從控制器返回,或內部使用? – chrylis
@chrylis它將返回到控制器 – XPLOT1ON