[Grafika] [WebTip] [Fotografování] [Galerie] [MujMac] [Printing]
  Redakce: info@builder.cz   Inzerce: reklama@grafika.cz

 Diskuzní forum: Java

Téma diskuze: Programovací jazyk Java. Pro javascript existuje vlastní diskuzní forum.

Tip: nemáte rádi v textu smajlíky? Ruší vaše zdrojové kody? Vypněte si je! (Moje nastavení / Nastavení soukromí)
JPA
Vloženo uživatelem: Neregistrovaný uživatel: Jack23 (IP uloženo)
Datum: 02. 02. 2010 23:26

Dobry den,
resim jeden problem na, ktery nemuzu prijit a myslim, ze spoustu z vas urcite vi jak to vyresit.
Potrebuju v JPA udalat entity ve vztahu M:N pricemz spojovaci tabulka mezi nima ma jeste dalsi atributy a potrebuji vyuzivat jeste ty atributy. Jedna se o tabulky Zajezd, Hotel, Pobyt(zajezd_id, hotel_id, od, do).

Napadlo me udelat v JPA properties od, do a nejak to spojit s tou spojovaci tabulkou, ale nevim jak, nejspis se musi zaroven vlozit i id zajezdu. Pricemz uz nevim jak bych vkladal pobyty.

Nevim jestli to pujde kdyz vytvorim entitu pobyt, ktera pak bude ve vztahu 1:N s ostatnimi tabulkami. Potom nevim jestli jde v jpa nejak udelat primarni klic ze dvou atribubutu, coz by se v tomhle pripade asi muselo. Stejne me ale v tomhle pripade nenapad jak v entite hotel pouzivat ty konretni datumy, kdyz by hotel mel N zajezdu, ikdyz by ho v tom pripade vlastne zajezd pouzival seznam hotelu. Mozna getHotel().getPobyt(this.id).getOd; No to me ted napadlo :-) ale nevim jestli je to spravne, kdyby se nekomu chtelo pomoct mi a poradit mi jak je tohle nejelepsi, urcite se to v praxi casto pouziva.

Diky

Re: JPA
Vloženo uživatelem: Alpedar - uživatel již zaslal 183 příspěvků (IP uloženo)
Datum: 03. 02. 2010 09:13

I autor hibernate radi, nepouzivejte vazbu M:N, rozdelte ji na dve vazby 1:N.
Osobne radsi pouzivam i u te vazebne tridy umely klic, ale pokud chces pouzit dvojici cizich, podivej se po "Composite Key".

Re: JPA
Vloženo uživatelem: finc - uživatel již zaslal 272 příspěvků (IP uloženo)
Datum: 03. 02. 2010 18:38

Ja nejak nepochopil, co je spatneho na M:N.
Vubec, slozene klice jsou proste v nekterych pripadech nutnosti. Pokud mam chapat ORM jako prostredek na provazani relacni databaze s objektama, tak po me preci ORM nemuze chtit menit spravne navrzene DB schema.

Jinak ta vazba v JPA je vcelku jednoducha. Vzniknou 3 entity. Kde ta entita Pobyt bude mit vazbu jak na hotel, tak na zajezd. Tyto vazby budou ale inserable a updatable = false. Samotne ulozeni se bude provadet prave pres slozeny klic.

Re: JPA
Vloženo uživatelem: Alpedar - uživatel již zaslal 183 příspěvků (IP uloženo)
Datum: 04. 02. 2010 09:07

1) spatneho na tom neni nic, ale pozorovani je takove, ze mnohdy k tomu pribudou nejaka data, takze mnohdy se stejnak skonci se dvema 1:N, takze rada je rovnou s nima zacinat.

2) to s tim umelym klicem pro vazebnou tabulku neni rada od nekoho "velkeho", jen muj osobni pristup, protoze jsem nekdy mel problemy se slozenym klicem (pravdepodobne zavinene mym nepochopenim nejakeho detailu) a ze jsem nemapoval existujici db na objekty, ale vytvarel oboji.



Vaše jméno: 
Váš e-mail: 
Předmět: 

:-)  :-(  ;)  :D  :S  spatne  dobre  bold  italic  email  citace  odkaz  obrazek 
Antispam ochrana u neregistrovaných uživatelů - opište čísla z obrázku:
  

Toto fórum je provozováno také jako emailová konference s e-mailovou adresou java [a] builder.cz.
Podrobný návod jak se k odběru zpráv e-mailem přihlásit naleznete v tomto návodu.




  



Toto je neredigovaná a nemoderovaná diskuse čtenářů serveru Builder.cz. Redakce ani provozovatel serveru za obsah jednotlivých příspěvků nenese zodpovědnost.

info@builder.cz
Vydává Grafika Publishing, s.r.o.
Copyright (c) 1997-2005 Všechna práva vyhrazena
Pro diskuzní fóra využíváme software z phorum.org