- Bivalyerős lett a Poco F6 és F6 Pro
- iPhone topik
- Redmi Note 9 Pro [joyeuse]
- Yettel topik
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Hivatalos a OnePlus 13 startdátuma
- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Z Flip5 - ami kint, az van bent
Hirdeté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?:))
- Bivalyerős lett a Poco F6 és F6 Pro
- A fociról könnyedén, egy baráti társaságban
- Építő/felújító topik
- Kezdő fotósok digitális fényképei
- Mobilinternet
- Luck Dragon: Asszociációs játék. :)
- Nyaralás topik
- Milyen autót vegyek?
- Milyen belső merevlemezt vegyek?
- Milyen monitort vegyek?
- További aktív témák...
- HIBÁTLAN iPhone 14 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3029, 90% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3042, 94% Akkumulátor
- Felsőkategóriás Gamer PC-Számítógép! Csere-Beszámítás! I9 13900K / RTX 4080 / 32GB / 1TB SSD
- Logitech G513 Carbon Tactile DE (3)
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2048, 96% Akksi
Állásajánlatok
Cég: FOTC
Város: Budapest