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.


Responder a