क्या यह एक समग्र कुंजी घोषित करने के लिए सादे जेपीए या जेपीए + हाइबरनेट एक्सटेंशन में संभव है, जहां समग्र कुंजी का एक तत्व अनुक्रम है?जेपीए समग्र कुंजी + अनुक्रम
यह मेरा समग्र वर्ग है:
@Embeddable
public class IntegrationEJBPk implements Serializable {
//...
@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
@JoinColumn(name = "APPLICATION")
public ApplicationEJB getApplication() {
return application;
}
@Column(name = "ENTITY", unique = false, nullable = false, insertable = true, updatable = true)
public String getEntity() {
return entity;
}
@GeneratedValue(strategy = GenerationType.AUTO, generator = "INTEGRATION_ID_GEN")
@SequenceGenerator(name = "INTEGRATION_ID_GEN", sequenceName = "OMP_INTEGRATION_CANONICAL_SEQ")
@Column(name = "CANONICAL_ID", unique = false, nullable = false, insertable = true, updatable = true)
public String getCanonicalId() {
return canonicalId;
}
@Column(name = "NATIVE_ID", unique = false, nullable = false, insertable = true, updatable = true)
public String getNativeId() {
return nativeId;
}
@Column(name = "NATIVE_KEY", unique = false, nullable = false, insertable = true, updatable = true)
public String getNativeKey() {
return nativeKey;
}
//...
}
मैं पहले से ही application
, entity
, nativeId
और nativeKey
के लिए मानों की आपूर्ति। मैं नीचे से एक की तरह एक इकाई का निर्माण करना चाहते हैं:
IntegrationEJB i1 = new IntegrationEJB();
i1.setIntegrationId(new IntegrationEJBPk());
i1.getIntegrationId().setApplication(app1);
i1.getIntegrationId().setEntity("Entity");
i1.getIntegrationId().setNativeId("Nid");
i1.getIntegrationId().setNativeKey("NK");
और जब मैं em.persist(i1
कहते हैं), मैं चाहता हूँ कि canonicalId
उत्पन्न होता है और एकीकरण डाला जाता है।
क्या यह संभव है? यदि हां, तो सरल तरीका क्या है? (मैं एप्लिकेशन द्वारा प्रदत्त कुंजी या मूल एसक्यूएल का उपयोग नहीं करना पसंद करता हूं)। इस तरह
यह संभव है। मुझे मिला एकमात्र तरीका आईडी आईडी भागों को डालने योग्य या अद्यतन करने योग्य नहीं है। पुरानी पोस्ट को स्पष्ट करना चाहता था क्योंकि यह खोज परिणामों में एक शीर्ष हिट है। – Valchris
समग्र प्राथमिक कुंजी के लिए '@ जेनरेटेड वैल्यू' एनोटेशन [समर्थित नहीं है] (http://www.objectdb.com/api/java/jpa/GeneratedValue) है। –
हाय, यह अब समर्थित होना प्रतीत होता है: https://hibernate.onjira.com/browse/HHH-4552 – Eugen