के लिए इकाई वर्ग के नाम का उपयोग मैं LocationType
नामित एक इकाई है नहीं दूँगी (BaseEntity
एक @MappedSuperclass
है):हाइबरनेट मुझे तालिका नाम
@Entity
public class LocationType extends BaseEntity
तालिका इस इकाई के लिए उत्पन्न नाम location_type
है। मैं समझता हूं कि डिफ़ॉल्ट नामकरण रणनीति इस तरह काम करती है।
मैं क्या समझ में नहीं आता कि मैं क्यों, locationtype
शाब्दिक नाम का उपयोग करने हाइबरनेट बाध्य नहीं कर सकता है। कोई फर्क नहीं पड़ता कि मुझे क्या करना:
@Entity(name = "LocationType")
public class LocationType
या
@Entity
@Table(name = "LocationType")
public class LocationType
या
@Entity(name = "LocationType")
@Table(name = "LocationType")
public class LocationType
तालिका नाम हमेशाlocation_type
के रूप में समाप्त होता है। हाइबरनेट बस बेहतर जानता है!
अगर मैं किसी अन्य नाम
@Entity(name = "wtf")
तो तालिका नाम के रूप में अच्छी तरह से wtf
हो जाता है का उपयोग करें।
इस प्रलेखित व्यवहार है? मुझे एक बग की तरह लग रहा है।
इसी प्रकार के प्रश्न: Hibernate ignores @Table(name = "...") for extended classes - created tablenames are all lower case (यह, मानचित्रण विरासत को दर्शाता है)।
हाइबरनेट किस संस्करण का उपयोग कर रहे हैं? क्या आप हाइबरनेट एनोटेशन या जावैक्स.परिस्टेंस एनोटेशन का भी उपयोग कर रहे हैं? – Vinc
मैं नहीं आप hibernate.cfg.xml फ़ाइल में किसी भी विशिष्ट गुण और अपने सुपर वर्ग आदि की तरह कुछ और जानकारी पोस्ट मुद्दा beter को समझने के लिए कर सकते हैं अगर मैं 'का उपयोग javax.persistence.Entity' किसी भी मुद्दे दिख रहा है,। – Chaitanya
दोनों @Entity और @Table '' से javax.persistence'' हैं। हाइबरनेट संस्करण 4.3.1 है। – MaDa