Spring data JPA requête avec les propriétés des paramètres

Quelle est la façon la plus simple de déclarer un Spring data JPA requête qui utilise les propriétés d'un paramètre d'entrée comme les paramètres de la requête?

Par exemple, supposons que j'ai une classe d'entité:

public class Person {
    @Id
    private long id;

    @Column
    private String forename;

    @Column
    private String surname;
}

et une autre classe:

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

    [constructor and getters]
}

... alors je voudrais écrire un Printemps référentiel de données comme suit:

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);
}

... mais le Printemps de données /JPA n'aime pas me précisant les noms de propriété sur le ?1 paramètre.

Ce qui est le plus fantastique alternative?

  • Faut-il dynamique? Pourquoi ne pouvez-vous pas simplement ajouter les Name table après la déclaration?
  • Name n'est pas nécessairement une entité.
InformationsquelleAutor Kkkev | 2012-05-29