Mapowanie w hibernate
G - 23-11-2006 01:16
Mapowanie w hibernate
Witam
Mam proste pytanie (jestem poczatkujacy). Mam dwie tabelki bazodanowe, tj. uzytkownika i dzial, do ktorego nalezy uzytkownik.
[Uzytkownik] - ID int (PK) - Nazwisko - Dzial_ID (FK)
[Dzial] ID int (PK) Nazwa
Jak zapisac mapowanie takiej relacji w hibernate? Czy relacja one-to-one jest odpowiednia? Moze ktos podac przyklad
pozdrawiam G.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Wojtek - 23-11-2006 01:16
..pl> napisał w wiadomości news:eit9i6$n4$1@inews.gazeta.pl... > Witam > > Mam proste pytanie (jestem poczatkujacy). > Mam dwie tabelki bazodanowe, tj. uzytkownika i dzial, do ktorego nalezy > uzytkownik. > > [Uzytkownik] > - ID int (PK) > - Nazwisko > - Dzial_ID (FK) > > [Dzial] > ID int (PK) > Nazwa > > Jak zapisac mapowanie takiej relacji w hibernate? Czy relacja one-to-one > jest > odpowiednia? Moze ktos podac przyklad
No średnio. Zależy od zależności między tymi encjami. Jeśli użyutkownik może należeć do kilku działów i jednoczeście jeden dział może mieć kilku użuytkowników to masz wtedy many-to-many. Hiber utworzy ci wtedy tabele posrednia. Pewnie masz one-to-many jedne dział ma wielu użytkowników a jedne użytkownik należy do jednego tylko działu. Jak chcesz to zrobic w hiber musisz wiedzieć czy używasz hbm.xml czy annotations. W ogóle to bym polecał poczytać też podstawy relacyjnych baz danych a pozniej dopiero kwestie mapowania ORM.
Pozdrawiam W
IP - 23-11-2006 01:16
G napisał(a): > Witam > > Mam proste pytanie (jestem poczatkujacy). > Mam dwie tabelki bazodanowe, tj. uzytkownika i dzial, do ktorego nalezy > uzytkownik. > > [Uzytkownik] > - ID int (PK) > - Nazwisko > - Dzial_ID (FK) > > [Dzial] > ID int (PK) > Nazwa > > Jak zapisac mapowanie takiej relacji w hibernate? Czy relacja one-to-one jest > odpowiednia? Moze ktos podac przyklad > > pozdrawiam > G. > Przy zalozeniu, ze dzial ma wielu uzytkowniow a uzytkownik nalezy tylko do jednego dzialu to pliki moglyby wygladac tak: ---
Uzytkownik.java: package n1.ip;
/** * @hibernate.class table="Uzytkownicy" */ public class Uzytkownik { private Long id; private String Nazwisko;
/** * @hibernate.id generator-class="native" column="uid" */ public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNazwisko() { return Nazwisko; } public void setNazwisko(String nazwisko) { Nazwisko = nazwisko; }
}
Uzytkownik.hbm.xml: <hibernate-mapping> <class name="n1.ip.Uzytkownik" table="Uzytkownicy" >
<id name="id" column="uid" type="java.lang.Long" > <generator class="native"> </generator> </id>
</class>
</hibernate-mapping>
Dzial.java: package n1.ip;
import java.util.Set;
/** * @hibernate.class table="dzial" */ public class Dzial { private Long id; private String nazwa; private Set uzytkownicy;
/** * @hibernate.set cascade="all" * @hibernate.collection-key column="dzial_id" * @hibernate.collection-one-to-many class="n1.ip.Uzytkownicy" */ public Set getUzytkownicy() { return uzytkownicy; } public void setUzytkownicy(Set uzytkownicy) { this.uzytkownicy = uzytkownicy; } /** * @hibernate.id generator-class="native" column="uid" */ public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNazwa() { return nazwa; } public void setNazwa(String nazwa) { this.nazwa = nazwa; }
}
Dzial.hbm.xml: <hibernate-mapping> <class name="n1.ip.Dzial" table="dzial" >
<id name="id" column="uid" type="java.lang.Long" > <generator class="native"> </generator> </id>
<set name="uzytkownicy" lazy="false" cascade="all" sort="unsorted" >
<key column="dzial_id" > </key>
<one-to-many class="n1.ip.Uzytkownicy" />
</set>
</class>
</hibernate-mapping> ---
Uwaga, nie testowne :)
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?q?=5BD=B3ugie=5D?= javax.transaction.SystemException z hibernate.
teoria, klucz obcy jako glowny oraz hibernate
bardzo dziwna sprawa z Hibernate i Postgresql
hibernate, detached vs persisted
Spring + Hibernate + Interceptor
Hibernate i XDoclet
iBatis a hibernate
[tomcat] Mapowanie =?ISO-8859-2?Q?servlet=F3w_w_web=2Exml?=
Dostep do mapowan servletow z filtra
EJB3 problem z mapowaniem kolumn
zanotowane.pldoc.pisz.plpdf.pisz.plabsolwenci.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|