Campo resultado de uma Subquery

7 respostas
R

pessoal, achei um monte de exemplos de subquerys, mas todas para usar na cláusula where, mas eu estou precisando de outra coisa, assim

select campo1, campo2, campo3, (select campo from tabela2 b where b.id = a.id ) as campo4 from tabela1

Como fazer isto no hibernate?

Obrigado a quem ajudar

7 Respostas

dtxk

eu procurei bastante e a única forma que encontrei foi utilizar a annotation @Formula segue:

@Basic @Column(name = "LEVEL") @Formula(value="(SELECT count(*) FROM BadgeLevels bl WHERE bl.badgeid = this_.id)") public long getLevel() { return level; }

segue:

R

Amigo, não entendi como usar
:S

R

Este campo LEVEL não seria criado na base?
Se eu chamar ele, ele faz a subselect?

Rodrigo_Sasaki

voce quer fazer uma subquery que traga resultados onde deveria colocar os nomes dos campos? Não entendi…

Tem certeza que é isso que deve fazer? pois acredito que não funciona…

R

Funciona perfeitamente amigo, estou careca de fazer isto no sql, mas agora não sei como fazer com Criteria

R

dtxk , como uso esta annotation?
@Formula
O campo anotado com ela não é criado na base?
Como que ela funciona?

dtxk

Raiduster:
dtxk , como uso esta annotation?
@Formula
O campo anotado com ela não é criado na base?
Como que ela funciona?

Amigo a variavel level não precisa ser persistida no banco… apenas vc cria o get e set no pojo e chama o get ai automaticamente ele irá gerar o select com subselect

Criado 9 de dezembro de 2011
Ultima resposta 9 de dez. de 2011
Respostas 7
Participantes 3