style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

recuperar el id del objeto persistido en la bd

Hola a todos, saben hace algun tiempo vi un metodo de criteria que guardaba un objeto (entity) a la bd y devolvia el id de ese nuevo objeto, alguien sabe como hacerlo:

ejemplo:

public void agregarNuevaVenta(VentaEntity venta) {
                Session session = HibernateUtil.getSessionFactory().getCurrentSession();
                session.beginTransaction();            
                session.save(venta);
                session.flush();
                session.update(venta);
                session.getTransaction().commit();             
                HibernateUtil.getSessionFactory().getCurrentSession().close();
               
        }

ahora como hacer que ese metodo devuelva el id que la bd asigno a ese nuevo registro?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

venta.getId()

Si tu clase VentaEntity tiene una propiedad id (o como se llame la llave primaria, que es el ID que mencionas), simplemente venta.getId() debería darte el valor que se le asignó.

Y la última línea de tu método es algo redundante, podría ser simplemente session.close().

Imagen de Shadonwk

ok voy a probar y comento.

ok voy a probar y comento.

Imagen de Shadonwk

excelente funciono a la

excelente funciono a la perfección gracias!!

Imagen de AlexSnake

Y tu código?

Al final como quedó tu código?? Seria bueno que tmb publicaras como lo resolviste. :D
Saludos.

Imagen de Shadonwk

Hola AlexSnake, quedo

Hola AlexSnake, quedo exactamente como dijo Enrique:

public int agregarNuevaVenta(VentaEntity venta) {
                Session session = HibernateUtil.getSessionFactory().getCurrentSession();
                session.beginTransaction();            
                session.save(venta);
                session.flush();
                session.update(venta);
                session.getTransaction().commit();             
                session.close();
                return venta.getIdVenta();
        }

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">