2012/3/22 Gonzalo del Castillo <[email protected]>
> Buenas tardes gente, me llamo Gonzalo y soy nuevo en el grupo. Estoy
> incursionando en los ORM, y me decidi por aprender NHibernate.
> En particular los molesto por un problema que tengo, estoy tratando de
> realizar el mapping de dos clases : Equipo y Campeonato.
> La idea es que desde Campeonato tenga un ISet de Equipos, sin tener que
> definir la vuelta (un ISet de Campeonatos).
> Si bien pude definir los mapeos, no se como definir la restricción que el
> nombre del equipo y el campeonato son unicos, al menos no sin caer en una
> relación bi-direccional.
>
> Desde ya muchas gracias por su tiempo.
>
> Saludos,
>
> Gonzalo.
>
> public class Equipo : DomainEntity
> {
> ....
> public virtual string Nombre { get; protected set; }
> }
>
>
> public class Campeonato: DomainEntity
> {
> ....
> public virtual string Nombre { get; protected set; }
>
> public virtual Iesi.Collections.Generic.ISet<Equipo> Equipos {
> get; set; }
> }
>
> Y los hbm.xml que hice :
>
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> assembly="..." namespace="...">
> <class name="Campeonato">
> <id name="Id">
> <generator class="guid.comb" />
> </id>
> <natural-id mutable="true">
> <property name="Nombre" not-null="true" />
> </natural-id>
>
> <version name="Version" />
>
> <set name="Equipos" cascade="all-delete-orphan" inverse="true">
> <key column="CampeonatoId"/>
> <one-to-many class="Equipo"/>
> </set>
> </hibernate-mapping>
>
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> assembly="..." namespace="...">
> <class name="Equipo">
> <id name="Id">
> <generator class="guid.comb" />
> </id>
> <version name="Version" />
> <property name="Nombre" not-null="true"/>
> </class>
> </hibernate-mapping>
>
> Ya lo pude resolver, al final termine cambiando el archivo
Campeonato.hbm.xml
<set name="Equipos" table="CampeonatosEquipos" cascade="all">
<key column="CampeonatoId"/>
<many-to-many column="EquipoId" class="Equipo"/>
</set>
Saludos,
Gonzalo.
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano