O Spring Data JPA tem uma convenção de nomenclatura para “membro de”?
-
21-12-2019 - |
Pergunta
Spring Data JPA constrói uma série de consultas com base na convenção de nomenclatura dos métodos de interface.Existe alguma convenção de nomenclatura para fazer um Consulta "MEMBRO DE"?
Posso fazer o seguinte funcionar com JPQL:
@Query("select e from MyEntity e where ?1 member of e.entities")
No entanto, gostaria de usar um método de convenção de nomes, se possível.Não consegui encontrar nada nos documentos sobre isso, então espero estar faltando alguma coisa.Se houver alguma razão fundamental pela qual não pode haver métodos para isso, eu também estaria interessado em saber.
Solução
Olhando rapidamente a versão mais recente deste documento, não parece que exista.Aqui estão as palavras-chave de nome de método disponíveis:
Outras dicas
Parece que a documentação está incompleta sobre o Containing
(IsContaining
, Contains
) palavra-chave.
https://dzone.com/refcardz/core-spring-data estende a documentação da seguinte forma:
CONTÉM:Contendo, IsContaining, Contém (String ou tipos de coleção apenas)
Então você é capaz de usar o Containing
palavra-chave em substituição a member of
.
Por exemplo:
// select e from MyEntity e where ?1 member of e.entities
findByEntitiesContaining(TypeOfMember member);