2011-08-17 29 views
7

मेरे पास कुछ इकाई वर्गों के साथ जेबॉस पर तैनात ईजेबी परियोजना है।हाइबरनेट जेपीए तालिका प्रकार = इनो डीबी समस्या

जैसे ही मैं तैनात रूप EJB Jboss मुझे इस अपवाद देता है:

create table service_db (id integer not null auto_increment, ipAddress varchar(255),  
primary key (id)) type=InnoDB 
Unsuccessful: create table service_db (id integer not null auto_increment, 
ipAddress varchar(255), primary key (id)) type=InnoDB 
2011-08-17 11:38:59,997 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1.... 

नहीं यह इंजन = InnoDB बजाय प्रकार होना चाहिए? मैंने बिना किसी भाग्य (एक ही त्रुटि) के mysql में इस कथन को निष्पादित करने का प्रयास किया। यदि मैं इंजन के साथ प्रकार को हटा या प्रतिस्थापित करता हूं तो यह काम कर रहा है।

मेरा सवाल है, मैं इसे कौन बदल सकता हूं?

<datasources> 
<local-tx-datasource> 
    <jndi-name>DUMMY_DS</jndi-name> 

    <connection-url>jdbc:mysql://localhost/cargosoft</connection-url> 
    <driver-class>com.mysql.jdbc.Driver</driver-class> 
    <user-name>hauke</user-name> 
    <password>******</password> 
    <min-pool-size>5</min-pool-size> 
    <max-pool-size>20</max-pool-size> 
    <idle-timeout-minutes>10</idle-timeout-minutes> 
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>  
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> 
    </local-tx-datasource> 
</datasources> 

आपकी मदद के लिए धन्यवाद:

यहाँ मेरी persistance.xml (मामले में यह महत्वपूर्ण है)

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" 
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> 
<persistence-unit name="default"> 

    <jta-data-source>java:/DUMMY_DS</jta-data-source> 
    <properties> 
     <property name="hibernate.hbm2ddl.auto" value="create" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" /> 
    </properties> 

</persistence-unit> 

और मामले डेटा स्रोत xml फ़ाइल महत्वपूर्ण है में है।

Hauke ​​

+0

डुप्लिकेट: http://stackoverflow.com/questions/5231325/mysql-5-5-9-and-hibernate-table-creation-error-on-type – Vlad

उत्तर

34

उपयोग MySQL5InnoDBDialect बजाय।

+6

बस आसान कॉपी और पेस्ट 'org.hibernate के लिए। dialect.MySQL5InnoDBDialect' –

+0

धन्यवाद, मैंने हल किया। –

+0

@deprecated इसके बजाय "hibernate.dialect.storage_engine = innodb" पर्यावरण चर या JVM सिस्टम प्रॉपर्टी का उपयोग करें। – slim

संबंधित मुद्दे