java हाइबरनेट @ आईडी @ जनरेटेड वैल्यू एनोटेशन डीबी 2 डाटाबेस द्वारा उत्पन्न वेतन वृद्धि आईडी को नहीं पहचानता है




hibernate db2 (2)

@GeneratedValue(strategy = GenerationType.IDENTITY) उपयोग किए गए @GeneratedValue(strategy = GenerationType.IDENTITY) उपयोग करें @GeneratedValue(strategy = GenerationType.IDENTITY)

दूसरे रिकॉर्ड को हाइबरनेट 3 डीबी 2 v9.x में डालने के लिए जहां एक कॉलम में डीबी 2 द्वारा उत्पन्न एक अद्वितीय प्राथमिक कुंजी कॉलम आईडी है मेरा सीतनिद्रा में होना इकाई जारी रखने के साथ काम नहीं करता।

पहला रिकॉर्ड सम्मिलित करना ठीक काम करता है, यद्यपि जब तक मैं मैन्युअल रूप से वृद्धि नहीं करता और सेटर का उपयोग करके मान सेट नहीं करता, तब तक कोई रिकॉर्ड नहीं रह सकता है मैंने @GeneratedValue पर टिप्पणी करने की कोशिश की है .... क्या मैं इसे सही ढंग से उपयोग कर रहा हूं? मैं नहीं चाहता हूं कि हाइबरनेट को ऑटो कॉल की आय बढ़ाने के लिए, मैं चाहता हूं कि उसे अगले पंक्ति में डालने के लिए डीबी 2 द्वारा उत्पन्न वृद्धिशील आईडी का उपयोग करना चाहिए। धन्यवाद:)

यह मेरा कोड है:

private short APLSEQNUM;

@javax.persistence.Column(name = "MRT_APLSEQNUM")
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public short getAPLSEQNUM() {
    return APLSEQNUM;
}

आईडी उत्पन्न करने के लिए डीबी 2 में सम्मिलन जोड़ा गया तालिका स्क्रिप्ट बनाएँ:

"MRT_APLSEQNUM" SMALLINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (  START WITH +1  
INCREMENT BY +1  
MINVALUE +1  
MAXVALUE +32767  
NO CYCLE  
CACHE 20  
NO ORDER )

यह अपवाद है:

सीतनिद्रा में होना: आरपीएस। एमआरटी (MRT_APRNUM, MRT_CHKLOC, MRT_DPTCDE, MRT_FUNCDE, MRT_MDCNUM, MRT_MDCRSLCDE, MRT_MIDCRSLDTE, MRT_OCCCDE, MRT_QIDNO, MRT_REGDTE, MRT_REMARK, MRT_SECCDE, MRT_SMP, MRT_USRID, MRT_VISNUM, MRT_APLYER, MRT_APLSEQNUM, MRT_ACMPNUM) मूल्यों (?,? 15, 2011, 17:37:44 org.hibernate.util.JDBCExceptionReporter लॉग अपवाद चेतावनी: SQL त्रुटि: -803, SQLState: 23505 15-Mar-2011 17:37:44 org.hibernate.util.JDBCExceptionReporter लॉग एक्सपेश्शन SEVERE: DB2 SQL त्रुटि: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1; RPS। TMRT 15-Mar-2011 17:37:44 org.hibernate.event.def.AbstractFlushingEventListener प्रदर्शन निष्पादन सत्र: सत्र org.hibernate.exception.ConstraintViolationException के साथ डेटाबेस स्थिति सिंक्रनाइज़ नहीं किया जा सका: सम्मिलित नहीं कर सका: [qa.gov.moi.rps .db.entity.Medical_MRT] org.hibernate.exception.SQLStateConverter.convert पर (SQLStateConverter.java:71) org.hibernate.exception.JDBCExceptionHelper.convert पर (JDBCExceptionHelp or.hbernate.action.Abstract.net) पर org.hibernate.persister.entity.AbstractnetityPersister.insert (AbstractEntityPersister.java.272) org.hibernate.persister.entity.AbstractEntityPersister.insert पर (एब्रेक्टएन्टीटीपीर्सिस्टर। जावा 2665) org.hibernate.action पर Org.hibernate पर org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java media63) पर org.hibernate.engine.ActionQueue.execute (ActionQueue.java.0079) पर एंटिटी इंसर्ट एक्शन.एक्सिक्यूट (EntityInsertAction.java:60)। org.hibernate.event.def.DefaultFlushEventListener.onFlush पर org.hibernate.event.def.AbstractFlushingEventListener.performExecutions (एब्सटफ्लशिंग ऐंट लिस्टनर.जावाम्बर 98) पर इंजन.एक्शनकुएयू.एक्सएक्यूट एक्शन (एक्शनक्वाय्यू.जावा 167) (डिफॉल्टफ्लूशऐवेंटलिस्टनर.जावा 27) org.hibernate.impl.SessionImpl.flush पर (सत्र Impl.java:12000) org.hibernate.impl.SessionImpl.managedFlush पर (सत्र Impl.java:338) org.hibernate.transaction.JDBCTransaction.commit पर (JDBCTransaction.java:106 ) at org.hibernate.ejb.TransactionImpl.commit (TransactionImpl.java:54) qa.g पर ov.moi.rps.db.helper.MedicalHelper.create (medicalHelper.java:74) पर qa.gov.moi.rps.db.helper.MedicalHelper.main (MedicalHelper.java amax85) पर sun.reflect.NativeMethodAccessorImpl पर। रवि पर sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java39) पर invoke0 (मूल विधि)। reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke पर (Method.java: 597) com.intellij.rt.execution.application.AppMain.main पर (AppMain.java:115) द्वारा कारण: com.ibm.db2.jcc.c.SqlException: DB2 SQL त्रुटि: SQLCODE: -803, SQLSTATE: 23505 , एसक्यूएलआरआरएमसी: 1; आरपीएस। एमएमआरटी com.ibm.db2.jcc.c.fg.d (fg.java:1340) com.ibm.db2.jcc.b.gb.k पर (gb.java351) com.ibm.db2.jcc.b.gb.a पर (gb.java:60) com.ibm.db2.jcc.bwa पर (w.java:52) com.ibm.db2.jcc.b.wb पर com.ibm.db2.jcc.c.gg.ab (gg.java:1779) com.ibm.db2.jcc.c.gg.d पर (wb.java ago13) सी। (wb.java, 1313) (gg.java, जून 324 ) com.ibm.db2.jcc.c.gg.W पर (gg.java 457) com.ibm.db2.jcc.c.gg.executeUpdate पर (gg.java:440) org.hibernate.jdbc पर। NonBatchingBa tcher.addToBatch (nonBatchingBatcher.java:23) org.hibernate.persister.entity.AbstractEntityPersister.insert पर (सार abstractparsister.java, 22252) ... 18 अधिक javax.preistence.RollbackException: org.hibernate पर लेनदेन कमाने में त्रुटि qa.gov.mo.rps.db.helper.MedicalHelper.create (medicalHelper.java:74) पर qa.gov.moi.rps.db.helper.MedicalHelper पर ejb.TransactionImpl.commit (TransactionImpl.java:71) पर sun.reflect.NativeMethodAccessorImpl.invoke0 (मूल विधि) पर sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java39) पर sun.reflect.DellegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) पर मुख्य (मेडिकलहाल्गर.जावा 2002) पर java.lang.reflect.Method.invoke (Method.java:597) com.intellij.rt.execution.application.AppMain.main (AppMain.java:115) पर होने के कारण: org.hibernate.exception.ConstraintViolationException: सकता सम्मिलित नहीं करें: [qa.gov.moi.rps.db.entity.Medical_MRT] org.hibernate.exception.SQLStateConverter.convert पर (SQLStateConverter.java:7 1) org.hibernate.exception.JDBCExceptionHelper.convert पर (JDBCExceptionHelper.java:43) org.hibernate.persister.entity.AbstractEntityPersister.insert पर (AbstractEntityPersister.java.272) org.hibernate.persister.entity.AbstractEntityPersister.insert पर Org.hibernate.engine.ActionQueue पर org.hibernate.engine.ActionQueue.execute (ActionQueue.java.0079) पर org.hibernate.action.EntityInsertAction.execute (EntityInsertAction.java:60) पर (AbstractEntityPersister.java:2665)। org.hibernate.event पर org.hibernate.event.def.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java telugu98) पर org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:167) पर निष्पादन क्रियाएँ (ActionQueue.java। 63) org.hibernate.impl पर org.hibernate.impl.SessionImpl.flush (सत्र Impl.java:1000) पर .def.DefaultFlushEventListener.onFlush (DefaultFlushEventListener.java:27) org.hibernate.impl.SessionImpl.managedFlush (सत्र Impl.java:338) org पर। हाइबरनेट। ट्रांससाइजेशन। जेडीबीसीटीआरएन्सएक्शन कोडमिट (जेडीबीसीट्रेन्सेशन.जावाओटी 6) ए टी org.hibernate.ejb.TransactionImpl.commit (TransactionImpl.java:54) ... 7 और द्वारा कारण: com.ibm.db2.jcc.c.SqlException: DB2 SQL त्रुटि: SQLCODE: -803, SQLSTATE: 23505, एसक्यूएलआरआरएमसी: 1; आरपीएस। एमएमआरटी com.ibm.db2.jcc.c.fg.d पर (fg.java:1340) com.ibm.db2.jcc.b.gb.k पर (gb.java:351) पर com.ibm.db2.jcc.b.gb.a (gb.java:60) com.ibm.db2.jcc.bwa पर (w.java:52) com.ibm.db2.jcc.b.wb पर। com.ibm.db2.jcc.c.gg.ab (gg.java:1779) com.ibm.db2.jcc.c.gg.d पर c (wb.javaXX13) पर (gg.java जून 2003) at com.ibm.db2.jcc.c.gg.W (gg.java 457) com.ibm.db2.jcc.c.gg.executeUpdate पर (gg.java:440) org.hibernate.jdbc.onbatchingbatcher पर .addToBatch (NonBatchingBatcher.java:23) org.hibernate.persister.entity.AbstractEntityPersister.insert पर (सार abstractparsister.java couple252) ... 18 अधिक


यहाँ हम क्या किया है:

हमने डीबी 2 में एक अनुक्रम बनाया है:

हाइबरनेट मानचित्रण फ़ाइल में:

<id name="idClass" column="IDROW" >
    <generator class="sequence">
      <param name="sequence">SIDFINANCEMENT</param>
    </generator>
</id>             

एक संकलित वातावरण में काम करता है जहां कई उदाहरणों को अनुक्रम प्राप्त करने की आवश्यकता होती है और उत्पन्न अनुक्रम अद्वितीय है।