Como faço para criar consultas nomeadas em um arquivo separado
-
29-10-2019 - |
Pergunta
Preciso manter todas as consultas nomeadas em um arquivo separado.Por exemplo
@javax.persistence.NamedQueries({
@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")})
public class AllNamedQueries {
}
Agora, isso por si só causa um erro "Consultas nomeadas só podem ser definidas na classe Entity ou MappedSuperClass".
Como faço para criar consultas nomeadas em um arquivo separado?Por separado, quero dizer arquivos que não sejam arquivos de entidade.
Solução
Você pode usar orm.xml
que permite definir mapeamentos JPA em XML.Essa abordagem é equivalente e substitui as anotações.
Exemplo baseado em definir consulta nomeada em orm.xml com jpa e hibernate :
<entity class="com.example.Employee">
<table name="Employee.findAll" />
<named-query name="findAll">
<query><![CDATA[
SELECT e
FROM Employee e
]]></query>
</named-query>
</entity>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow