JPA-Abfrage für Federdaten mit Parametereigenschaften

Was ist die einfachste Methode zum Deklarieren einer JPA-Abfrage für Spring-Daten, bei der die Eigenschaften eines Eingabeparameters als Abfrageparameter verwendet werden?

Angenommen, ich habe eine Entitätsklasse:

public class Person {
    @Id
    private long id;

    @Column
    private String forename;

    @Column
    private String surname;
}

und eine andere Klasse:

public class Name {
    private String forename;
    private String surname;

    [constructor and getters]
}

... dann möchte ich ein Spring-Daten-Repository wie folgt schreiben:

public interface PersonRepository extends CrudRepository<Person, Long> {
    @Query("select p from Person p where p.forename = ?1.forename and p.surname = ?1.surname")
    findByName(Name name);
}

... aber Spring data / JPA mag es nicht, wenn ich Eigenschaftsnamen in der?1 Parameter.

Was ist die schönste Alternative? }

Antworten auf die Frage(9)

Ihre Antwort auf die Frage