Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

हाइबरनेट वैल्यूऑब्जेक्ट में ट्रिगर जेनरेटेड वैल्यू कैसे दें?

यदि आप एक ट्रिगर का उपयोग कर रहे हैं, तो इच्छित पीढ़ी की रणनीति org.hibernate.id.SelectGenerator है . हालांकि, इस रणनीति का उपयोग करने के लिए, हाइबरनेट को सम्मिलन के बाद सम्मिलित पंक्ति का पता लगाने में सक्षम होना चाहिए, यह देखने के लिए कि ट्रिगर को किस मान को सौंपा गया है, ऐसा करने के 2 तरीके हैं।

सबसे पहले जनरेटर को विशेष रूप से एक कॉलम बताने के लिए कॉन्फ़िगर करना है जो तालिका के भीतर एक अद्वितीय कुंजी (कम से कम तार्किक रूप से) को परिभाषित करता है:

@Id
@Column(name="S_ID")
@GeneratedValue( strategy = "trigger" )
@GenericGenerator( 
    name="trigger", strategy="org.hibernate.id.SelectGenerator",
    parameters = {
        @Parameter( name="keys", value="userName" )
    }
)
private String s_id;

private String userName;

दूसरा हाइबरनेट के प्राकृतिक-आईडी समर्थन के माध्यम से है:

@Id
@Column(name="S_ID")
@GeneratedValue( strategy = "trigger" )
@GenericGenerator( name="trigger", strategy="org.hibernate.id.SelectGenerator" ) )
private String s_id;

@NaturalId
private String userName;

GenerationType.IDENTITY आपके काम आ सकती है। यह वास्तव में JDBC ड्राइवर के लिए नीचे आ जाएगा और कैसे (यदि) यह लागू करता है getGeneratedKeys



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में वर्तमान टाइमस्टैम्प के भीतर 10 मिनट के सभी रिकॉर्ड कैसे चुनें?

  2. नोड.जेएस में MySQL रिटर्न वैल्यू को प्रोसेस करने के वादे का उपयोग करें

  3. डेटाबेस डिजाइन में n:m और 1:n का अर्थ

  4. MySQL ट्रिगर:डालने पर auto_increment मान को दूसरे कॉलम में कॉपी करें

  5. MySQL इष्टतम अनुक्रमणिका का उपयोग क्यों नहीं करता है