Mysql
 sql >> Database >  >> RDS >> Mysql

Come selezionare più colonne con lo stesso nome utilizzando la query nativa JPA?

Mapping colonne scalari in Entity Bean:

@SqlResultSetMapping(
      name="DescricaoColumnAlias",
      columns={@ColumnResult(name="B_DESCRICAO"),
               @ColumnResult(name="CA_DESCRICAO"),
               @ColumnResult(name="PRD_DESCRICAO")}
)

Ora utilizza l'alias per le colonne nella query nativa come specificato nelle mappature delle colonne.

"select p.id, p.datapedido, b.descricao come B_DESCRICAO, prd.descricao come PRD_DESCRICAO, s.nome, usuario.email, cc.chave_cupom, prd.nome, ca.descricao come CA_DESCRICAO, i.produto_id, i. valoritem, hc.valor_utilizdo, tp.datapagamento..."

Creazione di una query nativa specificando resultSetMapping &query.

entityManager.createNativeQuery(queryString, "DescricaoColumnAlias");