Que yo sepa hasta ahora NH no suporta joined-subclass+discriminator no se si lo suporta H3.2. Efectivamente hay que autolimitarse en el uso de joined-subclass porque la cantidad de outer-join que NH para resolver ese tipo de mapeo es mortal. Si la cantidad de propiedades persistentes, que se agregan en el esquema de herencia, no es alta conviene usar subclass.
La realidad es que no hay una verdadera "guia-maestra"... hay que ir probando fijandose en el log. Por suerte se puede cambiar el mapping sin tocar las clases.
Yo estoy en un prj que tiene una parte que se banca "enchufabilidad" (sorry DI). Las clases enchufables son child (tienen vida que depende de otra clase). Hice un poco de pruebas y si bien la clases enchufables podría ser mapeadas con joined-subclass, como no se conoce a priori cuan grande será ese árbol de herencia, terminé usando <any>. Pierdo en los tipos de HQLs que puedo hacer pero gano tremendamente en performance.
Bye. Fabio. Francisco A. Lozano escribió:
Ya que estamos... En NHibernate se permite joined-subclass + discriminador? es decir, el joined-subclass es más correcto, y lo uso siempre q puedo, pero además siempre pongo un discriminador en la tabla/clase padre, para cuando consulto manualmente el modelo relacional, evitarme las megaconsultas que harían falta si no... Entiendo que sería más eficiente discriminar por este campo que por las complejísimas consultas con CASE y varios JOINs que hace nhibernate... Por otro lado, hay algún límite en los niveles de herencia? imagino que a priori no lo hay técnicamente, pero operativamente imagino que habrá un numero (1? 2? 3?) a partir del cual sea demasiado lento.
--~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups-beta.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
