Hibernate - Obter o ultimo ID gerado na sequence

6 respostas
L

Boa tarde!

Preciso saber como eu posso obter o ultimo
valor gerado pelo SequenceGenerator do Hibernate.

Desde já agradeço!

6 Respostas

S

Oi Leonardo, isso eu não sei se é possível, o que sei é que o “select max” do id nas tabelas dos beans é feito sempre no start do server. Por isso não podemos ter duas instâncias do mesmo projeto rodando se optarmos por increment dos id’s da nossa app.

L

Enetendi… Bom, talvez eu te falando o que quero fazer
você possa me dar alguma outra idéia.

Quando dou um submit no form eu chamo três actions de uma vez.

A primeira pega o código dos funcionarios que foram digitados e inclui no BD.

A segunda cria um Nivel de funcionarios adiciona estes funcionários em uma tabela Nivel. Até aí não tem problema pois eu faço a busca de funcionários através dos mesmo códigos digitados. Tipo, lista.add(dao.pesquisa(codFuncionario)); nivel.setFuncionario(lista);

O problema é na terceira etapa pois eu tenho que adicionar estes Niveis em um List da classe/tabela Fluxo. Como eu posso saber quais são estes níveis que eu acabei de cadastrar no BD?

Valeus!
[]'s

F

Olá,

Nao sei como tu ta fazendo o save dos objetos via Hibernate, mas ve se te ajuda. O metodo Session.save retorna um Serializable que é justamente o ID gerado pelo Hibernate.

Se nao te ajudar tente explicar melhor pra tentarmos ajudar.

]['s

S

O save também pode retornar o objeto inteiro pra você e você pode colocar na lista. Agora se você quiser saber o id sem salvar eu já não recomendo.

:wink:

Suellen

L

Olá, e desculpem a demora pra dizer se deu certo… :wink:
Então o que eu precisava era realmente esse retorno do save!

public Integer adiciona(Nivel nivel) {
		return (Integer)this.session.save(nivel);
	}

Muito obrigado!

[]'s

edivaldoms

[code] aluno=em.merge(aluno);

Criado 13 de setembro de 2006
Ultima resposta 10 de mai. de 2008
Respostas 6
Participantes 4