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

Responder a