Hirdetés
- Apple Watch
- Fotók, videók mobillal
- Elgépelte a Nubia, hogy Air
- iPhone topik
- Milyen okostelefont vegyek?
- Beárazták a Nubia Z80 Ultra európai verzióját
- Google Pixel topik
- Amazfit Helio Strap – képernyőmentesen
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Honor Magic7 Pro - kifinomult, költséges képalkotás
Új hozzászólás Aktív témák
-
floatr
veterán
válasz
Tothg86
#12059
üzenetére
Valahogy így:
@Embeddable
public class AccountId {
private String accountNumber;
private String accountType;
...
}
@Entity
public class Account {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name="accountNumber", column=@Column(name="account_number")),
@AttributeOverride(name="accountType", column=@Column(name="account_type"))
})
private AccountId id;
...
}az @AttributeOverrides szekciót azért tettem bele, mert ezzel pontosan el tudod nevezni a DB mezőket. A hibernatenek van olyan NamingStrategy-je (jpa/component-path), hogy hajlamos elécsapni a generált neveknek prefixként azt, hogy "id_"
-
floatr
veterán
válasz
Tothg86
#12057
üzenetére
Ebben a cikkben leírnak két lehetőséget, de én is használok több munkahelyi projekten összetett kulcsot. Az EmbeddedId-t javaslom, de pár dolgot nem árt észben tartani.
Az ID-t így te adod meg, nem a hibernate generálja. Emiatt egy új rekord mentésénél (save/saveOrUpdate) a hibernate egy selectet fog kiadni, hogy leellenőrizze, van-e már azzal a kulccsal adat a DB-ben. Ezt ki lehet kerülni mondjuk egy EntityManager.persist(...) hívással egy custom repo implementációban, ha te tudod garantálni a PK egyediségét. Ha sok adatot importálsz, problémát tud okozni.
Az ilyen táblák általában kapcsoló/kapcsolatleíró táblák, és az összetett kulcs elemei külső kulcsok (FK), amik más táblákra mutatnak. Ilyenkor a hibernate csak trükközve tudja leírni a relációt másodlagos mappeléssel, vagy a kulcsban mappelt relációval, bár nem mindig van szükség arra, hogy össze tudj kapcsolni kódban is két objektumot. -
floatr
veterán
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- PROHARDVER! feedback: bugok, problémák, ötletek
- Apple Watch
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Újra nekifeszül az asztali konzolok piacának a Valve
- Óra topik
- Robotporszívók
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- alza vélemények - tapasztalatok
- Fotók, videók mobillal
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Acer 15.6",FullHD,core i3 8145U(4x3,9Ghz)MX230 2/4GB DDR5VGA,8-20GB RAM,SSD,szép állapot,Win.11
- Iphone 12 Pro Max 128GB Grey, kijelzőfólia és Speck tok
- HP 15.6 ",AMD A10,jó állapotú,magyar billentyűzet,Win.11 is megy!!
- Acer 15,6",Intel(2,58Ghz)akár 16GB RAM,akár 1TB SSD,jó akku,jó állapot
- Fujitsu ,15,6",8.gen.i5,világító.bill, 4G LTE,16-32GB/128-512,jó akku,Win.11,szép
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- LG 35WN75C-B - 35" Ívelt VA - 3440x1440 - 100Hz 5ms - USB Type-C 60W - AMD FreeSync - HDR 10
- HIBÁTLAN iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3441, 92% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! GIGABYTE B250M i5 7400 16GB DDR4 512GB SSD RX Vega 64 8GB DEEPCOOL Tesseract BF 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


