2009-07-31 8 views
15

एक नई प्रोजेक्ट शुरू करना मैं अब तक उपयोग की गई कॉन्फ़िगरेशन फ़ाइलों के बजाय MySQL के साथ हाइबरनेट एनोटेशन का उपयोग करना चाहता हूं। और मैं के बराबर लगता है प्रतीत नहीं कर सकते हैं:<जनरेटर वर्ग = "मूल"></generator> के बराबर MySQL और Hibernate3 एनोटेशन

<id name="id" type="long" > 
     <generator class="native"></generator> 
    </id> 

मैं का उपयोग कर की कोशिश की:

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native") 
private long id; 

लेकिन मिल गया:

org.hibernate.AnnotationException: Unknown Id.generator: native 

या:

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
private long id; 

मुझे दो:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE projectName.identity does not exist 

क्या किसी ने सफलतापूर्वक आईड्स उत्पन्न करने के लिए MySQL और Hibernate3 एनोटेशन को सफलतापूर्वक तैनात किया है?

उत्तर

11
@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
public Long getId() { 
    return id; 
} 

इससे हाइबरनेट अंतर्निहित डेटाबेस के आधार पर उचित रणनीति चुनने देता है।

+1

MySQL के लिए यह देशी आईडी पीढ़ी उपयोग करने के बजाय एक दृश्य तालिका परिचय देता है। –

-1

@GeneratedValue(strategy=GenerationType.AUTO) उपयोग करके देखें। यही कारण है कि MySQL autonum कार्यक्षमता का उपयोग करना चाहिए।

संबंधित मुद्दे