Te hago una pregunta:
Supongamos que en una entidad yo tengo una propiedad que se llama "Pirulo",
si un programador no le asigna un valor, quien se lo debería asignar ?

El 16 de marzo de 2010 09:23, Juan Cuello <[email protected]> escribió:

> Hola,
>
> Los ID's son todos del tipo:
>
>    <id name="ID" column="TRAMIT_ID" type="System.Decimal" unsaved-
> value="0">
>      <generator class="native"/>
>    </id>
>
> Para la relación Tramit -> XML (1 a 1) tengo:
>
> Tramit:
>    <one-to-one name="Xml" access="field.pascalcase-underscore"
> fetch="join" constrained="true" foreign-key="none"
> class="IntGin.Core.GSIT.Domain.GsXml, IntGin.Core.GSIT.Domain" />
>
> Xml:
>     <many-to-one name="Tramit" access="field.pascalcase-underscore"
> column="TRAMIT_ID" unique="true" />
>
> Para la relación 1 a n tengo:
>
> Tramit:
>
>    <set name="HistoricEstats" cascade="all" inverse="true"
> lazy="true" access="field.pascalcase-underscore">
>      <key>
>        <column name="TRAMIT_ID"/>
>      </key>
>      <one-to-many class="IntGin.Core.GSIT.Domain.GsHistoricEstats,
> IntGin.Core.GSIT.Domain"/>
>    </set>
>
> Historic:
>
>    <many-to-one name="Tramit"  access="field.pascalcase-underscore"
> outer-join="auto" insert="true" update="true">
>      <column name="TRAMIT_ID"/>
>    </many-to-one>
>
>
> Gracias a vuestras indicaciones funciona correctamente pero sigo
> teniendo que establecer la relación en los dos sentidos...¿Siempre
> tiene que ser así?
>
> Por cierto, son mapeos generados que luego retoco para no empezar de
> cero.
>
> Muchas gracias
>
>
>
> On 16 mar, 12:54, Fabio Maulo <[email protected]> wrote:
> > Sacale el not-null al la referencia al parent en el child y luego
> controla
> > los queries.
> > Si ves algo que no te guste mandá tambien el mapping de los ID.
> >
> > @José
> > Esos mappings me parecen generados.
> >
> > El 16 de marzo de 2010 08:12, José F. Romaniello
> > <[email protected]>escribió:
> >
> >
> >
> > > Si en lugar de hacer A.Lista.Add(B) hago B.A = A y lo agrego a la
> >
> > > lista funciona.
> >
> > > Esto es lo que deberías hacer, si utilizas INVERSE, la clave aca de lo
> que
> > > podes estar haciendo mal se llama inverse.
> > > Inverse=True significa que la relación la controla la otra entidad, si
> lo
> > > pones false, que es el valor por defecto significa que la relación la
> > > controla el lado donde esta declarada la collection.
> >
> > > En general, hacemos algo así, dentro de la clase Tramit, agregamos un
> > > metodo AddHistoric que hace lo siguiente:
> >
> > > AddHistoric(Historic historic)
> > > {
> > >    this.Lista.Add(historic);
> > >    historic.Tramit = this;
> > > }
> >
> > > Pero sospecho que en tu caso no debería ser si quiera inverse=true.
> >
> > > Con respecto al caso 2, creo que deberías usar el tag one-to-one,
> aunque
> > > creo que como esta puesto el "cascade" debería hacer el insert.
> >
> > > Te comento por otro lado que insert="true" y update="true" son valores
> por
> > > defecto, no hace falta que lo pongas.
> >
> > > saludos
> >
> > > --
> > > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
> >
> > --
> > Fabio Maulo
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>



-- 
Fabio Maulo

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