2016-10-19 1 views
0

Я загрузил свой веб-приложение (Spring + Hibernate) на сервере (Tomcat 7 - JDK 1.7), и я получил эту ошибку:Вызванная: org.hibernate.HibernateException: Hibernate Диалект должен быть явно установлен

Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set 

В моем компьютере у меня такая же конфигурация (Spring, Hibernate, Tomcat 7, jdk 1.7, те же библиотеки и т. Д.), И все работает.

Я заглянул в интернет, и кто-то сказал, что мне нужно добавить hibernate.cfg.xml, но я никогда не использовал его на своем компьютере, и все работало отлично.

Это то, что у меня в файле конфигурации Spring:

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" />    
</bean>  

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/>    
    <property name="packagesToScan" value="com.jeansedizioni.model"/>    
</bean> 

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${db.driver}" /> 
     <property name="url" value="${db.url}" /> 
     <property name="username" value="${db.user}" /> 
     <property name="password" value="${db.pass}" /> 
</bean> 

<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      //here are user, pass etc. for the database 
      <value>classpath:database.properties</value>     
     </list>    
    </property> 
</bean> 

Кто-нибудь знает, что это моя ошибка?

Заранее спасибо.

ответ

1

Определение hibernate.dialect свойство вашего database.properties файла

пример:

hibernate.dialect=org.hibernate.dialect.SQLServerDialect 

И добавить hibernateProperties к вашей декларации sessionFactory боба быть таким:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/>    
    <property name="packagesToScan" value="com.jeansedizioni.model"/> 
    <property name="hibernateProperties"> 
    <props> 
     <prop key="hibernate.dialect">${hibernate.dialect}</prop> 
    </props> 
    </property>    
</bean> 
+0

Спасибо людей. :) – MDP

1

Добавить эту недвижимость в вашей <bean id="sessionFactory">:

<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>    
    </props> 
</property> 

Затем в конфигурационном файле (где и являются выборки пользователя, передать, URL) упоминает диалект, как показано ниже:

hibernate.dialect=org.hibernate.dialect.OracleDialect 
hibernate.show_sql=true 
hibernate.hbm2ddl.auto=update 
+0

Спасибо, человек. :) – MDP

Смежные вопросы