En la tabla Movimiento vos necesitas dos columnas para guardar los dos Ids
de los ambientes, de origen y de destino,

por lo tanto esto esta mal:
<many-to-one name="Origen" class="Ambiente" column="idAmbiente" />
<many-to-one name="Destino" class="Ambiente" column="idAmbiente" />

cambialo por esto:
<many-to-one name="Origen" class="Ambiente" column="idAmbienteOrigen" />
<many-to-one name="Destino" class="Ambiente" column="idAmbienteDestino" />

No agrega mucho a lo que ya te dijo Fabio, saludos.


El 6 de enero de 2010 13:51, Edgar Ramos <[email protected]> escribió:

> -- tenes las dos propiedades mapeadas al la misma columna ---
> Los siento no he explicado mejor mi situacion, la tabla movimiento
> tiene 2 campos requeridos para Origen y Destino, estos campos tienen
> el ID del Ambiente (tabla ambiente), requiero saber siempre que un
> movimiento especifico se origino en un AmbienteX y Finalizo en un
> AmbienteY
> Es por eso que cree dos propiedades Origen y Destino
> ----El copy&paste puede ser bueno si se presta mas atteción de cuando
> se escribe de una---
> de ahi las dos relaciones many-to-one name="Origen", many-to-one
> name="Destino"
>
> Si logicamente esto debe estar mal, estoy enfocando mal mi situacion
> real al modelamiento de objetos, nuevamente alguna sugerencia, no de
> solucionar mi problema  (indice 4 no válido para
> SqlParameterCollection con Count=4.), si no mas bien como deberia
> enfrentar esta situacion, mapeos, relaciones, propiedades, cualquier
> cosa es bienvenida
>
>
>
> El día 6 de enero de 2010 11:27, Fabio Maulo <[email protected]>
> escribió:
> > tenes las dos propiedades mapeadas al la misma columna.
> > El copy&paste puede ser bueno si se presta mas atteción de cuando se
> escribe
> > de una.
> >
> > El 6 de enero de 2010 12:30, Edgar Ramos <[email protected]>
> escribió:
> >>
> >> Un saludo a todos
> >>
> >> Planteo mi situacion, tengo dos entidades Movimiento y Ambiente, un
> >> movimiento siempre tendra un Origen y un Destino, estos a su vez serán
> >> siempre de tipo Ambiente, (existe una tabla llamada Ambiente con todos
> >> los ambientes creados) y 2 claves foranea en la tabla Movimiento con
> >> el id del ambiente para Origen y Destino
> >> Ahora bien mi relacion de Movimiento a Ambiente la tengo de esta manera
> >>
> >> Movimiento.hbm.xml
> >>
> >> <many-to-one name="Origen" class="Ambiente" column="idAmbiente" />
> >> <many-to-one name="Destino" class="Ambiente" column="idAmbiente" />
> >>
> >> Al persistir el objeto movimiento, recibo el siguiente mensaje indice
> >> 4 no válido para SqlParameterCollection con Count=4.
> >>
> >> Estoy haciendo algo mal pero no se que es, gracias por los comentarios
> >>
> >> --
> >> Para escribir al Grupo, hágalo a esta dirección:
> >> [email protected]
> >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
> >
> >
> >
> > --
> > Fabio Maulo
> >
> >
> > --
> > 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