Nesse artigo vou mostrar 2 maneiras de como usar o número da linha como ID trazendo ele na consulta. Isso é util quando queremos por exemplo usar um DTO (ou VO) em uma consulta com JPA mas na consulta não tem campos que são sempre únicos para servir de ID para o DTO e o JPA precisa de um ID único.
A primeira usamos o ROW_NUMBER e a segunda criamos uma SEQUENCE. Em "MEU_SELECT_COM_JOINS" você substitui por toda sua consulta que carrega os dados que você precisa para o DTO e pronto.
--------------------------------------------------
-- row_number(): SQL2005+
--------------------------------------------------
select
row_number() over (
order
by
(
select
null
)) id,
tabela_.
*
from
(MEU_SELECT_COM_JOINS) as tabela_--------------------------------------------------
-- Sequence: SQL2012+
--------------------------------------------------
-- Criando sequencia
if object_id(
'sLinhas'
)
is
not
null
drop
sequence
sLinhas
create
sequence
sLinhas
as
int
start
with
1
select
next
value
for
sLinhas
as
id
,
tabela_.
*
from
(MEU_SELECT_COM_JOINS) as tabela_
Nenhum comentário:
Postar um comentário