Hola gente! Yo iria por la solucion mas simple, tener un autonumerico o un Guid.
Pero si se te va la vida en no querer incrementar un numero, y estas en la misma trasaccion: - En vez de borrar el objeto, lo pondria en una lista tuya de "ABorrar" - Si generas uno nuevo, tomas el objeto de esa lista, lo retiras, y lo actualizas como siempre - Antes de hacer flush, recorres los objetos que quedaron en la lista "ABorrar" y los borras Pero no veo por que no usar un autonumero o un Guid Nos leemos! Angel "Java" Lopez http://www.ajlopez.com http://twitter.com/ajlopez 2011/12/21 Marcos Mellibovsky <[email protected]> > 1) seguro no te sirve ni un int64? no estaras pensando que tenes tanta sed > que no te alcanzara el agua de todo el oceano?. > > > 2011/12/21 [email protected] <[email protected]> > > 1. Guid >> 2. ¿no era que se eliminaba y se creaba en la misma transacción? >> 3. ¿por? >> >> 2011/12/21 BlackCid <[email protected]>: >> > 1- El tema es que es algo muy dinámico (crear, borrar, crear), tanto >> > que no me gustaría poner un id que no parase de incrementarse hasta >> > vete tu a saber que numero (es dificil que superase el máximio, pero >> > quien sabe xD) >> > 2- El problema es que por un lado se elimina, y tal vez, solo tal >> > vez, >> > al cierto tiempo se crea de nuevo, eso depende del usuario y es >> > imposible saberlo antes de eliminarlo. >> > 3- Esto me es imposible. >> > >> > He probado con SaveOrUpdate pero claro, tras esto lo borra. >> > Habia pensado en probar SaveOrUpdate y en lugar de borrar la entidad >> > primero dejarla coja y poner que haga delete all orphans (de esta >> > manera si queda coja en el flush lo borrará). El problema es que las >> > claves extranjeras son clave primaria... >> > >> > On 20 dic, 13:33, "[email protected]" <[email protected]> >> > wrote: >> >> Se me ocurren tres opciones, de seguro hay mas... >> >> >> >> 1. Usar Id que no sean significativos al usuario así podés usar >> distintos Ids. >> >> 2. Hacer un get y un update del objeto que querés actualizar >> >> 3. Hacer un session.flush entre el delete y el save >> >> >> >> saludos. >> >> nelo >> >> >> >> 2011/12/20 BlackCid <[email protected]>: >> >> >> >> >> >> >> >> > Resulta que si borro una entrada, y luego creo otra con el mismo id, >> >> > al hacer flush me dice que no puede insertarse porque ya existe. >> >> >> >> > Está claro que primero intenta insertar y luego borrar. >> >> >> >> > ¿Existe alguna forma de evitar este error? >> >> >> >> > Gracias de antemano. >> >> >> >> > -- >> >> > Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> >> > Para más, >> >> > visite:http://groups.google.com/group/NHibernate-Hispano-Ocultar texto >> >> > de la cita - >> >> >> >> - Mostrar texto de la cita - >> > >> > -- >> > Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> > Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > > > -- > > Ing. Marcos Mellibovsky > ARSoft Consultoría Informática > [email protected] > 0351 155630801 > msn:[email protected] > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
