Hibernate hbm2ddl.auto कौन से मान ले सकता है और वे क्या करते हैं?
सभी को नमस्ते! मैं Java और Hibernate में नया हूँ, और hibernate.cfg.xml फ़ाइल में hbm2ddl.auto सेटिंग को समझ नहीं पा रहा हूँ। मैंने विभिन्न प्रोजेक्ट्स में ये मान देखे हैं: create, update, validate, create-drop और none। लेकिन दस्तावेज़ीकरण मेरे लिए बहुत जटिल है।
यहाँ मेरे कॉन्फ़िग का एक उदाहरण है:
<property name="hibernate.hbm2ddl.auto">update</property>
मैं एप्लिकेशन चलाता हूँ, और यह काम करता हुआ प्रतीत होता है, लेकिन मुझे डर है कि entities (नया फ़ील्ड जोड़ने) को बदलने पर डेटाबेस में डेटा खो सकता है। उदाहरण के लिए, मेरे पास User क्लास है जिसमें id, name और email फ़ील्ड हैं। अगर मैं phone फ़ील्ड जोड़ूँ, तो टेबल का क्या होगा? क्या Hibernate अपने आप कॉलम जोड़ देगा? और अगर मैं email फ़ील्ड हटाऊँ — क्या कॉलम हट जाएगा? और अगर मैं create सेट करूँ तो क्या होगा — क्या सारा डेटा खत्म हो जाएगा?
कृपया मुझे बताएं।