Dos cosas que chequearía:
    1-Cuidado con la forma de obtener el objeto permiso, deberías 
obtenerlo en la misma sesión que vas a guardar el objeto usuario.
    2-Ya que el dominio es mas o menos conocido, me tomo el atrevimiento 
de preguntar si tiene sentido el lado inverso de la relación?



Kaken escribió:
> Recuperar los recupera perfectamente, al guardar solo inserta el
> permiso y no en la tabla intermedia.... :)
>
> On 18 abr, 19:16, Kaken <[email protected]> wrote:
>   
>> Buenas chicos, una pregunta, llevo varios dias dandole vueltas y no lo
>> consigo hacer funcionar si me podeis echar una mano os lo agradezco ;)
>>
>> Tengo el siguiente modelo una entidad Usuario y una entidad Permiso y
>> quiero unirlas mediante un ManyToMany.
>>
>> La BBDD tiene una tabla intermedia llamada PermisosUsuarios.
>>
>> Lo curioso es q al obtener los datos Nhibernate si me recupera los
>> permisos asociados al usuario, pero al crear un usuario no...
>>
>> Mis mapping son estos mediante fluent.
>>
>> Mapping entidad Usuario
>>
>>  WithTable("Users");
>>             Id(x => x.Id, "IdUser")
>>                .WithUnsavedValue(0)
>>                .GeneratedBy.Identity();
>>
>>             Map(x => x.UserNamex, "UserName");
>>             Map(x => x.PassWord, "PassWord");
>>             Map(x => x.Rol,"IdRol").CustomTypeIs(typeof(int));
>>
>>             HasManyToMany<Permiso>(x => x.Permisos)
>>                 .WithTableName("PermisosUsuarios")
>>                 .WithParentKeyColumn("IdUser")
>>                 .WithChildKeyColumn("IdPermiso")
>>                 .AsBag().Cascade.All();
>>
>> Mapping entidad Permiso
>>
>>   WithTable("Permisos");
>>             Id(x => x.Id, "IdPermiso").WithUnsavedValue
>> (0).GeneratedBy.Identity();
>>             Map(x => x.Name);
>>             HasManyToMany<User>(x => x.Usuarios)
>>               .WithTableName("PermisosUsuarios")
>>               .AsBag()
>>               .WithParentKeyColumn("IdPermiso")
>>               .WithChildKeyColumn("IdUser")
>>                 .Inverse();
>>
>> Gracias chicos!!!!!!!!!!! ;)
>>     
> >
>
>   


--~--~---------~--~----~------------~-------~--~----~
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