Problema com query em JPA

4 respostas
K

Ola a todos

Eu tenho essa sql e quero adapta - la para a query em jpa :

select MAX(id) from Ordem_Servico

Tentei adapta-la da seguinte forma: query = "SELECT MAX(o.id) FROM Ordem_Servico")
Existe uma entidade chamada Ordem_Servico em que possui a coluna id

Ai tentei fazer o seguinte:

Criei esse metodo:

public Ordem_Servico buscarId() { return (Ordem_Servico) super.namedQueryList("Ordem_Servico.recuperarId"); }

E no main tentei mostrar o resultado da seguinte forma:

Ordem_ServicoDAO oDAO = new Ordem_ServicoSUDI(); System.out.println(oDAO.buscarId().getId());

Alguem sabe me dizer onde to errando?acho que essa query não ta certa …

4 Respostas

Leozin

select max(o.id) from Ordem_Servico o

K

Ae eu tentei fazer o que vc falou a query ta certa mas da erro agora no metodo

  1. public Ordem_Servico buscarId() {
  2. return (Ordem_Servico) super.namedQueryList("Ordem_Servico.recuperarId");
    
  3. }
    

Na verdade eu tenho que mandar retornar o objeto, so que como que faço sem receber parametro?
Pq o namedQueryObject pede parametro …

Leozin

eu me referi a tu fazer isso:

BigDecimal resultado = em.createQuery( "select max(o.id) from Ordem_Servico o" ).getSingleResult();
K

Eu alterei a query:

"SELECT MAX(o.id) FROM Ordem_Servico o"

O método ficou assim:

public List buscarId() { return super.namedQueryList("Ordem_Servico.recuperarId"); }

Ai cirei um main que ficou assim:

public static void main(String[] args) { RamaisDAO rDAO = new RamaisSUDI(); System.out.println(rDAO.buscarRamaisPorSetor("teste").getRamal()); }

Ai pronto ele me retorna o máximo id do banco de dados.

Valeu!

Criado 28 de janeiro de 2008
Ultima resposta 30 de jan. de 2008
Respostas 4
Participantes 2