[ vanhulio @ 21.11.2007. 10:03 ] @
Pozdrav svima,

Imam ne bas standardnu situaciju, gde mi treba uni-directional relacija ali da foreign key ne bude primary key roditelja, vec da se koristi, u mom slucaju, name (varchar) kolona iz roditeljske tabele.

Code:

        [b]Parent:[/b]
    <class name="Parent" table="Parent">
        <id name="Id" access="nosetter.camelcase" column="id" type="Int32">
            <generator class="native" />
        </id>

        <property name="Name" type="String" column="name" />

        <bag name="Children" access="nosetter.camelcase" cascade="save-update" table="Child">
            <key column="parentName" />
            <one-to-many class="Child" />
        </bag>
    </class>

        [b]Child:[/b]
    <class name="Child" table="Child">

        <id name="Id" access="nosetter.camelcase" column="id" type="Int32">
            <generator class="native" />
        </id>

        <property name="Title" type="String" column="title" />
    </class>


Kopao sam po netu malo, i verovatno postoji nacin ali u slucaju da je bidirectional-na relacija, tj. da i Children zna za relaciju, tu se koristi property-ref na children strani.

Malo sam uprostio, ima tu jos detalja, ali interesuje me da li je to moguce izvesti da znam da li da trazim drugo resenje.
[ zmau @ 23.11.2007. 11:07 ] @
Obzirom da ti još niko ne odgovara :

Jesi li probao da isto ovo izdefinišeš preko anotacija ? Mislim da preko anotacija bez problema možeš da zadaš koja polja učestvuju u relaciji i ko koga vidi. A u ove xml fajlove se ne razumem.
[ vanhulio @ 23.11.2007. 13:46 ] @
S' obzirom da se radi o NHibernate-u (.NET) nisam siguran da je implementacija mapiranja putem atributa (anotacija) u nekoj zreloj fazi, ne bih da se upustam u to, a osim toga trenutno se bolje snalazim sa xml-om.

Krenuo sam sa manje boljim resenjem, gde u tabeli deteta imam kolonu parentId i parentName, a parentName postavljam manuelno, setovanjem polja u Child objektu, a parentId ce postaviti Parent (inverse=false). Kapiram da ovo resenje nije sjajno, jer postoji isti podatak na 2 razlicita mesta, a pored toga ne postoji referencijalni integritet, pa bih voleo da cujem jos neki predlog.

Ipak, hvala na odgovoru.