SQL Nativo em JPA

Existe o método createNativeQuery do EntityManager, com a função de retornar um lista de Objetos correspondente a query informada.

getEntityManager().createNativeQuery(query).getResultList();

Com esse exemplo será retornado uma lista com arrays de objetos (List<Object[]>), correspondendo a cada coluna dos registros retornados.

Para que venha uma lista com os objetos já mapeado em entidade específica, basta acrescentar mais uma parâmetro.

getEntityManager().createNativeQuery(query, Entidade.class).getResultList();

Com esse código nos retornará uma lista de Entidades (List<Entidade>) já mapeadas para seus atributos. Lembrando que cada atributo deverá ter o nome exato com a das colunas retornadas. Ou use a notação @Column para que ela seja reconhecida com outro nome.

@Column(name = "nomeColuna")

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *