Ich versuche Spring JPA-Projektion zu verwenden, um unnötige Daten aus Abfrageergebnis herauszufiltern. Ich habe jedoch mehrere Projektionen, die für die gleiche Schnittstellenmethode verwendet werden müssen.Spring JPA: Verwenden mehrerer Projektion auf derselben Abfrage-Schnittstelle
Das Problem ist, ich versuche, Daten von der gleichen Methode mit einem anderen zurückgebenden Objekt abzufragen, aber Java erlaubt dies nicht.
Die Abfrage wird automatisch von JPA basierend auf dem Methodennamen generiert, sodass ich den Methodennamen nicht ändern kann.
Gibt es eine Alternative, andere als eine neue Schnittstelle zu schaffen, da ich es ist ein Streit denken und unnötiger
hier ist ein Beispielcode, von dem, was ich zu tun versuchen.
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();
}
Warum Sie auf „Filter“, um die Informationen fehlen - ist das von einer Steuerung für die Rückgabe oder für die interne benutzen? – chrylis
@chrylis wird es wieder auf den Controller – XPLOT1ON