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