Carlos, revisá los nombres de las tablas. Por ejemplo, estás poniendo table="usuario" cuando la tabla se llama Usuarios, lo mismo con usuario_rol y Usuarios_Rols.
Te dejo la referencia a los mapeos de colecciones. http://nhforge.org/doc/nh/en/index.html#collections Saludos. Nicolás. El 25 de marzo de 2013 18:28, Carlos Berdejo <[email protected]>escribió: > Hola buenas tardes: > > Estoy empezando a usar Nhibernate, y tengo un problema. > > Tengo usuarios que pueden tener uno o mas roles, para solucionarlo a nivel > base de datos agregue una tercera tabla UsuarioRol, teniendo 3 tablas > (Usuarios, UsuarioRol y CatUsuarioRol), de manera que quiero relaccionar de > muchos a muchos las tablas Usuario - CatUsuariol > > La Tabla Usuarios_rols, solo tendria los campos (usuario-id y rol_id) > > Usuarios_rols > usuario_id(pk) > rol_id(pk) > > > Usuarios > usuario_id(pk) > otros campos > > Cat_Usuario_rol > rol_id(pk) > otros campos > > > Este es mi usuario.hbm.xml > > <?xml version="1.0"?> >> <hibernate-mapping assembly="castor" namespace="castor.core" >> xmlns="urn:nhibernate-mapping-2.2"> >> <class name="Usuario" table="usuario" lazy="false" > >> >> <id name="UsuarioId"> >> <column name="usuario_id" sql-type="integer" not-null="true" /> >> <generator class="identity"> >> <param name="sequence">usuario_usuario_id_seq</param> >> </generator> >> </id> >> <bag name="CatUsuarioRols" table="usuario_rol" lazy="false" >> inverse="true" > >> <key column="usuario_id" /> >> <many-to-many class="CatUsuarioRol" column="rol_id" /> >> </bag> >> >> <property name="Username"> >> <column name="username" sql-type="character varying" >> not-null="true" /> >> </property> >> >> (...) Otros atributos >> >> >> </class> >> </hibernate-mapping> >> > > En mi CatUsuarioRol.hbm.xml > Solo tengo el id, y los property de la tabla, ya que lei que al tener > activada laa propiedad inverse="true" en la relaccion many to many no es > necesaria colocarla en el otro mapping > > Si hago una consulta a la base de datos puedo ver que esta la relacción y > muestra los usuarios con sus respectivos roles, que agregue manualmente en > la base de datos > > No existe el UsuarioRol.hbm.xml ni la entidad UsuarioRol, ¿Debo de > generarlos? > > Cuando agrego un usuario, el codigo que utilizo es el siguiente > > >> Usuario nueva = new Usuario() >> { >> Username = Request.Form["username"], >> Activo = true, > > FechaMod = DateTime.Now, >> (...) Otros atributos >> >> }; >> > > Mi pregunta como puedo hacer para que se guarden los roles. > > Saludos! > > -- > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > --- > Has recibido este mensaje porque estás suscrito al grupo > "NHibernate-Hispano" de Grupos de Google. > Para anular la suscripción a este grupo y dejar de recibir sus correos > electrónicos, envía un correo electrónico a > [email protected]. > Para obtener más opciones, visita https://groups.google.com/groups/opt_out > . > > > -- Nicolás Matías Marzoni -- -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano --- Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a [email protected]. Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
