Hola, mientras seguimos esperando a los sabios te cuento lo que me parece: 1) No, no es necesario.
1.A) Si, es posible, se me ocurre algo como "from Equipo e inner join e.Programas p where p.Id = :programaId" 2) si tu relación es simplemente la asociación entre dos objetos no veo que necesites la entidad intermedia. Ahora si la asociación tiene propiedades propias, que hacen a la relación, si le veo sentido. Como dice Carlos, depende de tu dominio. Si los sabios no se despiertan, podés usar ConfOrm y ver el mapping que te arma, es casi casi como preguntarle a Fabio ;). saludos. nelo. 2011/1/1 Carlos Peix <[email protected]> > Hola Charlie, > > Es una pregunta bastante amplia asi que, mas que darte respuestas exactas, > te orientare. Tampoco estoy exactamente seguro de los detalles tecnicos de > las ideas que te cuento pero estoy bastante seguro de que son posibles. > Esperemos que los que saben, cuando se les pase la borrachera, amplien. > > La decision de utilizar una entidad intermedia o no surge de tu analisis > del dominio, no de las necesidades de mapeo. Sugiro que releas NH In Action > porque me llama la atencion que diga que no es aconsejable. En mi opinion > que sea o no aconsejable es una cuestion del dominio. > > Luego, con respecto a los mappings, aunque no es usual es posible que en > los mappings tengas relaciones que no estan en tu dominio, justamente con > proposito de ajacutar consulta. Creo que esta es una de las caracteristicas > que hacen de NH un ORm respetuoso de las decisiones de diseño del dominio. > > Estoy seguro de que puedes plantear estas relaciones con o sin entidad > intermedia y siempre sin colocar referencias desde al Programa al Equipo. > > ---------------------------------- > Carlos Peix > > 2010/12/30 Charlie <[email protected]> > > Hola a todos >> >> Sorry que los moleste tan temprano, >> >> Estoy empezando con los mappings de una aplicación y para entender los >> conceptos para trabajar con catálogos necesito escuchar comentarios ya que >> no logro captar los conceptos. >> >> Miren tengo dos entidades Equipo y programa. La idea es que programa sea >> un catalogo. >> >> Ahora los equipos pueden registrar de este catalogo n programas >> >> Programa es independiente y no sabe nada acerca de equipo >> >> Inicialmente pienso que seria una relacion many-to-many esto por que no >> quiero un FK en programa ya que es un catalogo >> >> >> >> Ahora las dudas que tengo son : >> >> >> *Question 1) *Si programa no sabe nada de equipo es necesario en su >> mapping anexarle la etiqueta many-to-many hacia equipo?. >> >> Tal vez lo que pregunte a continuación no suene lógico pero es para saber >> como se manejan las relaciones de catálogos en NHibernate >> >> *Question 1.A) *"Ahora bien si NO es necesario, es posible hacer HQLs de >> Programa para obtener que equipos tienen registrado x o y programa" >> >> >> >> >> Del lado de equipo puedo hacer un many-to-many normal y no veo problema >> alguno. >> >> >> >> Comentario final >> >> Leyendo el NHibernate in Action comenta que los many-to-many no son >> aconsejables ya que la entidad intermedia terminara teniendo atributos >> adicionales ademas de los Id de las entidades involucradas y que lo mejor >> seria utilizar una entidad como tal para la relación y que esta tenga un >> many-to-one en este caso a Equipo y otro many-to-one a Programa. >> >> *Question 2)* Del comentario final así es como se debe manejar en >> NHibernate? >> >> *Question 3)* Si la estoy regando díganme como se debe hacer >> >> >> -- >> 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 > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
