- Apple MacBook
- AMD Navi Radeon™ RX 9xxx sorozat
- Mini-ITX
- Milyen széket vegyek?
- Házimozi belépő szinten
- Projektor topic
- Forradalomi előrelépésként jellemzi az NVIDIA a DLSS 5-öt
- Ha az alaplapi hangchipnél jobbra váltanál, itt az új Sound Blaster hangkártya
- LG LCD és LED TV-k
- Egyre csábítóbbak ezek az ASUS ExpertCenter mini PC-k
Ú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?:))
- GIGABYTE RX 6800 16GB GDDR6 GAMING OC - Eladó!
- NVME, M2 NGFF, 2,5" SATA SSD-k vegyes OEM márkák és prémium típusok, sok újszerű. 128GB-1TB
- Playstation 4 Pro 7216B 2db gyári kontroller
- Philips Hue Play Gradient Lightstrip White and Color Ambiance LED szalag 65-75" TV háttérfény
- Dell Inspiron 15 3520 - 15.6"FHD IPS - i7-1255U - 8GB - 512GB - Win11 - MAGYAR - 1,5 év garancia
- Honor Pad 8 / 6/128GB / Wi-fi / 12Hó Garancia
- iPhone 15 Pro 256GB 88% (1év Garancia)- ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4684
- Dobozos, új, gyári magyar világítós bill E14 G4 i5-1235u, 40Gb ram, 256Gb NVMe, áfás számla
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


