2016-10-19 24 views
0

我上傳的服務器上我的Web應用程序(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 

並添加hibernatePropertiessessionFactory bean聲明是這樣的:

<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> 

然後在您的配置文件(其中u是獲取用戶,通過URL)提方言,如下圖所示:

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

謝謝你的男人。 :) – MDP

相關問題