2016-02-05 8 views
5

मौजूद नहीं है मैं हाइबरनेट करने के लिए 5.माइग्रेट हाइबरनेट 3 से 5: संबंध hibernate_sequence

मैं एक अजीब त्रुटि है एक आवेदन हाइबरनेट 3 के साथ चल रहे पलायन कर रहा हूँ:

ERROR: relation hibernate_sequence does not exist

हम *.hbm.xml मानचित्रण फ़ाइलों का उपयोग कर रहे हैं और सबकुछ ठीक काम कर रहा था जब तक कि मैंने हाइबरनेट संस्करण नहीं बदला। मेरा मतलब है कि हमारे पास आईडी कॉलम और डीबी अनुक्रम जनरेटर के साथ एक बहुत सीधी आगे मैपिंग है और अभी भी हाइबरनेट सही कॉन्फ़िगरेशन चुनने में सक्षम नहीं था।

<hibernate-mapping> 
    <class name="com.boyan.MyClass" table="my_class"> 
     <id name="id" type="long"> 
      <column name="id" /> 
      <generator class="sequence"> 
       <param name="sequence">my_class_seq</param> 
      </generator> 
     </id> 
... 
    </class> 
</hibernate-mapping> 

उत्तर

10

मैं हाइबरनेट कोड में खुदाई शुरू की और देखा कि SequenceGenerator हटा दिया गया है और नए संस्करणों SequenceStyleGenerator का उपयोग करें। मैं बहुत उलझन में था जब मैंने देखा कि नए संस्करण में संपत्ति बताती है कि अनुक्रम का नाम sequence से sequence_name में बदला गया है। तो अंत में जब मैं बदल दिया है:

<param name="sequence">my_class_seq</param> 

रहे हैं:

<param name="sequence_name">my_class_seq</param> 

सब कुछ काम किया।

1

मैं एक ही समस्या में फंस गया और मैं एनोटेशन का उपयोग कर रहा था। समाधान स्वीकृत उत्तर JPA GenerationType.AUTO not considering column with auto increment था। यदि एनोटेशन का उपयोग करना चाहिए तो इसका इस्तेमाल किया जाना चाहिए।

@GenericGenerator(name = "my_seq", strategy = "native", parameters = { 
    @Parameter(name = "sequence_name", value = "mydb_seq") 
}) 
संबंधित मुद्दे