के साथ हाइबरनेट में जेनरेट किए गए कॉलम और टेबल नाम डीबी स्कीमा उत्पन्न करने के लिए हाइबरनेट को कैसे मजबूर कर सकते हैं जैसे कि यह कैमेलकेस को अंडरस्कोर्स (एचबीएम का उपयोग करके) में परिवर्तित करता है? उदाहरण के लिए। मेरे पास है:अंडरस्कोर
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cz.csas.pdb.be.model.product.passive">
<class name="foo.BarBaz">
<id name="barBazId">
<generator class="sequence"/>
</id>
<property name="extractContactType"/>
<!-- ... -->
</class>
</hibernate-mapping>
और मैं इस (ओरेकल) की तरह तालिका बनाने के लिए हाइबरनेट हैं:
CREATE TABLE "BAR_BAZ"
(
"BAR_BAZ_ID" NUMBER(19,0) NOT NULL ENABLE,
"EXTRACT_CONTACT_TYPE" VARCHAR2(512 CHAR),
-- PK etc...
)
मैं जानता हूँ कि मैं hbm.xml फ़ाइल में तालिका/स्तंभ नाम का उपयोग कर सकते हैं, लेकिन मैं चाहता हूँ इसे वैश्विक रूप से सेट करें (दोनों समय बचाने और त्रुटियों को रोकने के लिए)।
ऐसा लगता है कि यह ठीक से काम करना चाहिए, लेकिन मैं एक अपवाद की वजह से मिलता है: org.hibernate.MappingException: वही तार्किक स्तंभ नाम विभिन्न भौतिक लोगों द्वारा संदर्भित: account_charge.PASSIVEACCOUNT => 'passive_account' और 'passiveaccount'; एक साधारण से-एक के लिए (खाता चार्ज एचबीएम "<कई-से-एक नाम =" निष्क्रिय खाता "/>") है। –