Retornando o id de um objeto inserido no Hibernate

6 respostas
andre_guitar7

No Hibernate me disseram que a cada registro devo voltar o mesmo objeto com o id… como posso fazer isso? se eu tenho a minha função insert assim:

public Person insert( Person person ) throws Exception { Transaction transaction = this.session.beginTransaction(); try{ person.setDateRegister( new Date() ); this.session.save( person ); transaction.commit(); }catch( Exception e ){ transaction.rollback(); } return null; }

O Hibernate tem alguma função que retorna o id do objeto inserido?

vlw

6 Respostas

David

Você tá retornando null. No lugar disso, retorne person ou então troque o retorno do método para void. Para acessar o id, basta usar person.getId() ou algo do tipo.

danieldestro

Se seu objeto person tem um atributo de id, que foi devidamente configurado no Hibernate, voce nao precisa fazer nada. Exemplo:

Person p = new Person("nome da pessoa"); salvar( p ); System.ou.println( p.getId() );

Sacou?

andre_guitar7

danieldestro:
Se seu objeto person tem um atributo de id, que foi devidamente configurado no Hibernate, voce nao precisa fazer nada. Exemplo:

Person p = new Person("nome da pessoa"); salvar( p ); System.ou.println( p.getId() );

Sacou?

Cara, é mesmo… valew

Mauricio_Linhares

O método save() de session retorna o ID do objeto que está sendo gravado (ele retorna “Serializable”). É só retornar o que ele retornar.

altitdb

danieldestro:
Se seu objeto person tem um atributo de id, que foi devidamente configurado no Hibernate, voce nao precisa fazer nada. Exemplo:

Person p = new Person("nome da pessoa"); salvar( p ); System.ou.println( p.getId() );

Sacou?

Estou começando a mecher com o hibernate agora.
Como sei que minha ID está configurado corretamente?

Obrigado.

Marky.Vasconcelos

Se voce esta usando Annotations o atributo id deve ter

@Id
@GeneratedValue

Criado 21 de abril de 2006
Ultima resposta 8 de jun. de 2010
Respostas 6
Participantes 6