Matías, Mandá un ejemplo de clase padre e hijo con sus mappings con los que tengas problemas.
Diego 2010/5/18 Matias Veleda <[email protected]> > Hola, > > Les cuento la situación en la que me encuentro a ver si pueden > ayudarme o guiarme un poco en la solución. Tengo una aplicación que > tiene que lidiar con una base de datos ya diseñada y en funcionamiento > desde hace rato. No tengo demasiada autonomía sobre la BD ya que > además es usada y administrada por otras aplicaciones como META4 por > ejemplo. > El tema en este caso son las claves compuestas. Se que no es > recomendado utilizarlas y que de alguna manera es alejarse del diseño > de objetos y acercarse al diseño de bases de datos, pero en este caso > (y contra mi voluntad) digamos que tengo que respetar estas claves > compuestas. > El problema se presenta en qué NH no se da cuenta cuando es una > inserción o cuando es una actualización, de manera que, después de > investigar un poco en internet buscando alternativas encontré que la > mayoria proponen diferenciar a mano si es un Update() o un Save(). > Ahora bien, algunas entidades obviamente funcionaron bien, pero me > pasa que cuando tengo entidades padre (cuya clave es compuesta) que > tienen hijos (cuyas claves son compuestas también) que al querer > persistir los hijos me da error, al parecer porque no puede > identificar si debe hacer un Update() o un Save() con ellos. Es decir, > el padre lo podría persistir correctamente pero al llegar a los hijos > falla. > A alguno le ha tocado lidiar con este tema? Y si es asi, qué > soluciones encontraron? Una posible solución podría ser eliminar los > Cascades y realizar el mismo mecanismo manual con los hijos, es decir, > verificar si existen ya en la BD, y determinar si es Update() o > Save(). Esto calculo va a funcionar pero por ahi hay alternativas > mejores. > > Perdón lo extenso del planteo, y si algo no quedó claro me dicen e > intento explicarlo mejor. Desde ya muchas gracias por cualquier dato > que me puedan compartir para darle una solución viable a este tema. > > Saludos, > > Matias.- > > -- > 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
