मेरे पास हाइबरनेट और स्प्रिंग ढांचे के साथ मेवेन प्रोजेक्ट है। मैं हाइबरनेट को टेबल स्वचालित रूप से बनाना चाहता हूं, लेकिन सभी मौजूदा टेबल अभी गिराए गए हैं और आवश्यक तालिकाओं को नहीं बनाया गया है। कोई अपवाद सत्र कारखाने आरंभीकरण के दौरान फेंक दिया जाता है, लेकिन जब मैं एक Player
इकाई को बचाने की कोशिश, अपवाद फेंक दिया जाता है:हाइबरनेट स्वचालित रूप से टेबल नहीं बनाता
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: टेबल 'billboarddb.player' नहीं है मौजूद
अगर मैं टेबल मैन्युअल बना सकते हैं और संपत्ति को बदलने hibernate.hbm2ddl.auto
"validate"
है, तो सब कुछ ठीक काम करता है। क्या आपके पास कोई विचार है, क्यों हाइबरनेट टेबल नहीं बनाते?
स्प्रिंग विन्यास फाइल:
<context:component-scan base-package="org.meluk.billboard.business.controller" />
<tx:annotation-driven transaction-manager="txManager" />
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" >
<list>
<value>/WEB-INF/config/jdbc.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${hibernate.connection.driver_class}" />
<property name="url" value="${hibernate.connection.url}" />
<property name="username" value="${hibernate.connection.username}" />
<property name="password" value="${hibernate.connection.password}" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="/WEB-INF/hibernate.cfg.xml" />
<property name="packagesToScan" value="org.meluk.billboard.jpa" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.c3p0.min_size">${hibernate.c3p0.min_size}</prop>
<prop key="hibernate.c3p0.max_size">${hibernate.c3p0.max_size}</prop>
<prop key="hibernate.c3p0.timeout">${hibernate.c3p0.timeout}</prop>
<prop key="hibernate.c3p0.max_statements">${hibernate.c3p0.max_statements}</prop>
</props>
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
jdbc.properties फ़ाइल:
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://127.0.0.1:3306/BillboardDB
hibernate.connection.username=root
hibernate.connection.password=1234
hibernate.default_schema=BillboardDB
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.hbm2ddl.auto=create
hibernate.show_sql=true
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
हाइबरनेट निर्भरता:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernateVersion}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernateVersion}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
<version>${hibernateToolsVersion}</version>
</dependency>
http://stackoverflow.com/questions/4507142/does-hibernate-create-tables-in-the- डाटाबेस- स्वचालित रूप से – JMelnik
का डुप्लिकेट हां वे समान हैं, लेकिन वहां टेबल ठीक उत्पन्न होते हैं। – Balconsky
बस आपको एक विचार देने के लिए। अगर सब कुछ ठीक से कॉन्फ़िगर किया गया है तो अपने डेटाबेस –