Bueno, yo era por mantener lo clásico,una entidad intermedia tiene como pk las dos foreing key, pero bueno, si no hay mas remedio le meto un id y listo. Sobre lo segundo pues lo habia pensado, pero bueno, casi mejor lo primero y me quito problemas xD.
On 21 dic, 15:27, Angel Java Lopez <[email protected]> wrote: > 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" Lopezhttp://www.ajlopez.comhttp://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-Ocultartexto > >> >> > 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- 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
