2012-09-17 10 views
12

में परिभाषित नहीं किया गया है मेरे पास ग्रहण में आयातित एक मेवेन सक्षम प्रोजेक्ट है।ग्रहण: "सिस्टम-यूयूआईडी" नामक कोई जेनरेटर दृढ़ता इकाई

@Id @GeneratedValue(generator = "system-uuid") 
@GenericGenerator(name = "system-uuid", strategy = "uuid") 
@Column(length = 36) 
public String getId() { 
    return id; 
} 

परियोजना कमांड लाइन से सही ढंग से बनाता है: ग्रहण से, मैं एक त्रुटि "नहीं जनरेटर नाम" सिस्टम-UUID निम्नलिखित लाइनों की प्रणाली UUID हिस्से पर "हठ इकाई में परिभाषित किया गया है" मिलता है। इस त्रुटि को उत्पन्न करने के लिए ग्रहण का कारण क्या है और मैं इसे कैसे ठीक कर सकता हूं?

हठ फ़ाइल इस तरह दिखता है ..

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
    version="1.0"> 
    <persistence-unit name="xxxx"/> 
</persistence> 

उत्तर

33

आप प्राथमिकताएं के अंतर्गत/नीचे बंद त्रुटि बदल सकते हैं -> जावा हठ -> जेपीए -> त्रुटियाँ/'जिज्ञासाएँ और जेनरेटर' के तहत चेतावनी बदलकर एक चेतावनी के लिए त्रुटि 'जेनरेटर को दृढ़ता इकाई में परिभाषित नहीं किया गया है'।

यह ग्रहण में दली के हाइबरनेट उपकरण एक्सटेंशन में एक बग जैसा दिखता है। आप इसे हाइबरनेट टूल्स पर रिपोर्ट कर सकते हैं या शायद यह एक नवीनतम संस्करण में तय किया गया है।

+1

लेकिन अगर डेवलपर्स इस त्रुटि डाल जांच की जानी है, मैं विचार करने के लिए है कि हम persistence.xml में कुछ करना चाहिए रोक चाहते हैं, तुम नहीं लगता है ऐसा सोचता? : एस –

+4

यह उत्तर काफी पुराना लगता है। मैंने अभी ग्रहण लुना डाउनलोड किया है और समस्या अभी भी वहां है। मुझे विश्वास नहीं है कि एक बग इतने लंबे समय तक जी रहेगा। क्या यह वास्तव में दली पर एक बग है? –

+0

यह मेरे लिए काम किया। हालांकि, मुझे @IgnacioRubio से सहमत होना चाहिए। यह त्रुटि को दबाता है और चलिए आगे बढ़ते हैं ... हालांकि, पहली जगह में त्रुटि क्यों फेंक दी जा रही है?मुझे अपने शोध के आधार पर समाधान नहीं मिला है। –

1

एक्लिप्स के जेपीए समर्थन के नए संस्करण एनोटेशन के क्रम पर निर्भर करते हैं। आप एम का उपयोग करने के बाद जनरेटर को परिभाषित कर रहे हैं।

यह काम करेगा:

@Id 
@GenericGenerator(name = "system-uuid", strategy = "uuid") 
@GeneratedValue(generator = "system-uuid") 
@Column(length = 36) 
public String getId() { 
    return id; 
} 

हालांकि जावा में एनोटेशन के आदेश एक अर्थ नहीं होना चाहिए। तो करेन सही है, ऐसा लगता है कि यह एक बग है।

+1

मैंने एक नई बग रिपोर्ट दायर की: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474298 – roehrijn

+5

किसी भी क्रम में मेरे लिए काम नहीं किया – yair

+0

किसी भी क्रम में मेरे लिए काम नहीं किया। और परियोजना> स्वच्छ ... (नीचे सुझाया गया) किसी भी क्रम में मदद नहीं करता था। मैं मंगल 2 का उपयोग कर रहा हूँ (4.5.2)। – mbmast

0

मुझे लगभग एक ही त्रुटि थी - मैंने अपने कस्टम आईडी जनरेटर का उपयोग किया - ग्रहण मर्स में जिथब से मेरी परियोजना आयात करने के बाद।

त्रुटि: नहीं जनरेटर नाम "idGenEchantillon" हठ इकाई में परिभाषित किया गया है

तो मेरा उत्तर, मुख्य प्रश्न के लिए वास्तव में नहीं है, लेकिन अन्य डेवलपर्स मेरा रूप में एक ही त्रुटि जो यहाँ देख सकते हैं रखने के लिए ।

कोड:

@Id 
@GenericGenerator(name = "idGenEchantillon", strategy = "com.labo.model.KeyGenaratorForEchantillon") 
@GeneratedValue(generator ="idGenEchantillon") 
@Column(name = "ID_ECHANTILLON", length = 12) 
private String idEchantillon; 

मैं निर्भरता का प्रबंधन करने के Maven का इस्तेमाल किया।

  1. मैंने अपने प्रोजेक्ट से जेपीए पहलू को हटा दिया है => हर बार जब मैं मावेन का उपयोग करके अपना प्रोजेक्ट अपडेट करता हूं, तो परियोजना जेपीए पहलू को फिर से ले जाती है => त्रुटि रहती है।
  2. मैंने मैवेन के "जेपीए कॉन्फ़िगरेटर" विकल्प को अक्षम कर दिया है: विंडो >> वरीयताएँ >> मैवेन >> जावा ईई एकीकरण, फिर "जेपीए कॉन्फिगरेटर" अनचेक करें, उसके बाद मैंने मैवेन => त्रुटि का उपयोग करके अपनी परियोजना अपडेट की है गया हुआ।
5

ग्रहण लूना: यह काम करने के लिए

Project -> Clean 
संबंधित मुद्दे