Many-to-Many sencillo -> could not initialize a collection

72 views
Skip to first unread message

BlackCid

unread,
Dec 11, 2011, 3:24:52 PM12/11/11
to NHibernate-Hispano
Tengo dos tablas relacionadas N-N, y para ello uso una tercera
intermedia, la cuestion es que por mucho que busque y busque no
encuentro una forma de hacer many-to-many.

Os doy la información aunque no tiene mucho misterio:
Base de datos:
objeto_unico
ou_id (pk)
otros campos que no vienen al caso
forma
fo_id (pk)
otros campos que no vienen al caso
objeto_equipado
oe_ou_id (pk, fk)
oe_fo_id (pk, fk)

objeto_equipado haria de tabla intermedia y no, no tendrá jamás otro
campo.

He intentado mapearlo de la siguiente manera:
en Forma
<bag name="ObjetosEquipado" table="public.objeto_equipado">
<key column="oe_fo_id"/>
<many-to-many class="ObjetoUnico" column="oe_ou_id"/>
</bag>

e inlcuso añadiendo a ObjetoUnico (aunque no lo necesito)
<bag name="Formas" table="public.objeto_equipado" inverse="true">
<key column="oe_ou_id" />
<many-to-many class="Forma" column="oe_fo_id" />
</bag>

Pero lo unico que hace es darme una excepción en cuanto accedo al
campo de ObjetosEquipado con una única pista, un select que si lo
ejecuto directamente (reemplazando el típico ? por un número) funciona
sin problemas.

¿Alguien sabría decirme la solución a este many-to-many?

Gracias de antemano.

nelopa...@gmail.com

unread,
Dec 11, 2011, 8:13:43 PM12/11/11
to nhibernat...@googlegroups.com
¿y cual es la excepcion?

2011/12/11 BlackCid <blac...@gmail.com>:

> --
> Para escribir al Grupo, hágalo a esta dirección: NHibernat...@googlegroups.com
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano

BlackCid

unread,
Dec 12, 2011, 2:23:22 AM12/12/11
to NHibernate-Hispano
Perdondad, soy idiota, se me habia olvidado dar permisos al usuario de
base de datos sobre esta tabla... perdonadme por haberos hecho perder
el tiempo, este post se puede borrar si lo deseais para asi no
molestar en las búsquedas del grupo.

Gracias y perdonad las molestias...

On 12 dic, 02:13, "nelopause...@gmail.com" <nelopause...@gmail.com>
wrote:


> ¿y cual es la excepcion?
>

> 2011/12/11 BlackCid <black...@gmail.com>:

> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Carlos Berdejo

unread,
Mar 20, 2013, 9:19:36 PM3/20/13
to nhibernat...@googlegroups.com
Hola BlackCid

Tengo un problema muy similar al tuyo, tengo 3 tablas,

Usuarios
    usuario_id(pk)
    otros campos

Cat_Usuario_rol
    rol_id(pk)
    otros campos

Usuarios_rols
    rol_id(pk)
    rol_id(pk)

El mapping de  Usuarios_rols es:

<?xml version="1.0"?>
<hibernate-mapping assembly="castor" namespace="castor.core" xmlns="urn:nhibernate-mapping-2.2">
  <class name="UsuarioRol" table="usuario_rol" lazy="false">
   
    <composite-id name="Id" class="ID">
      <key-many-to-one name="RolId" column="rol_id" class="Usuario"/>
      <key-many-to-one name="UsuarioId" column="usuario_id" class="CatUsuarioRol"/>
    </composite-id>
  
  </class>
</hibernate-mapping>

La entidad es:

  public class UsuarioRol {
    public UsuarioRol() { }
    public CatUsuarioRol CatUsuarioRol { get; set; }
    public Usuario Usuarios {get; set;}
    }

Me podras decirme si se parecen a los tuyos, si no es incoveniente me pudes mostrar tus entidades y tus mappings, saludos.
Reply all
Reply to author
Forward
0 new messages