|
[Grafika]
[WebTip]
[Fotografování]
[Galerie]
[MujMac]
[Printing]
|
|||||||||
![]() |
||||||||||
|
|
|||||||||
Diskuzní forum: JavaTé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. Toto fórum je provozováno také jako emailová konference s e-mailovou adresou java [a] builder.cz. Toto je neredigovaná a nemoderovaná diskuse čtenářů serveru Builder.cz. Redakce ani provozovatel serveru za obsah jednotlivých příspěvků nenese zodpovědnost. |