मैं डीबी में निम्न स्कीमा मिल गया है (सरलीकृत)क्या किसी भी संगठन को परिभाषित किए बिना किसी इकाई में किसी फ़ील्ड को मैप करना संभव है?
MainTable(
ID primary key
SOMEFIELD
CODE_FK1 -- references OtherTable1 CODE (without declared foreign key)
CODE_FK2 -- references OtherTable2 CODE (without declared foreign key)
... Other fields used
)
OtherTable1(
CODE primary key
LABEL
... other fields not used
)
OtherTable2(
CODE primary key
LABEL
... other fields not used
)
अगर वहाँ आदेश सीधे मेरे दूसरे टेबल, यानी बिना से लेबल का उपयोग करने के मुख्य तालिका के लिए मेरे इकाई निर्धारित करने का कोई रास्ता नहीं है मैं पूछ रहा हूँ इन अन्य टेबल के लिए परिभाषित इकाइयों।
मैं डीबी स्कीमा नहीं बदल सकता, जो वास्तव में भयानक है (हर जगह लेबल/कोड जोड़े हैं, गुणक तालिकाओं में परिभाषित हैं)। और यदि यह संभव था, तो यह समाधान मेरे कोड को सरल रखने की अनुमति देगा, क्योंकि मुझे वास्तव में इन अन्य इकाइयों की आवश्यकता नहीं है। आपकी मदद के लिए अग्रिम द्वारा
@Entity
public class MainEntity{
@Id
private Integer ID;
@Column(name="SOMEFIELD")
private String SomeField;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
}
धन्यवाद:
मुझे लगता है कि यह ऐसा ही कुछ परिणाम होगा!
मैं वास्तव में संदेह है, तो इस के साथ इकाई स्तर रिश्तों पर जेपीए (के साथ संभव है अन्य संस्थाओं को परिभाषित किया गया है, न कि कैसे शामिल इकाइयों में खेतों को प्राप्त करने के तरीके)। क्या आपने उन दो विकल्पों पर विचार किया है: ए) जेपीए इकाइयों को सभी प्रासंगिक तालिकाओं को मानचित्र करें, और जब आपको आवश्यकता हो तो क्वेरी करें; बी) अगर डीबी इंटरैक्शन ज्यादा नहीं है, तो जीवन को सरल बनाने के लिए जेडीबीसी का उपयोग करें? –