2012-07-10 83 views
1

我發現很有趣的事情(可能)解決我的問題標識符名稱爲Oracle數據庫 - >http://code.google.com/p/hibernate-naming-strategy-for-oracle/ 但我有困難的時候使其工作withing我的項目使用Spring MVC。春天 - 設置休眠命名策略不工作

儘管我在每一個地方都添加了它,但不知何故,spring並沒有爲我的Hibernate設置命名策略。我的servlet-context.xml中的

部分

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
    <property name="driverClass" value="oracle.jdbc.OracleDriver"/> 
    <property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/> 
    <property name="user" value="xxx"/> 
    <property name="password" value="xxx"/> 
    <property name="maxPoolSize" value="10"/> 
    <property name="maxStatements" value="0"/> 
    <property name="minPoolSize" value="5"/> 
</bean> 

<bean id="namingStrategy" class="com.execon.OracleNamingStrategy"/> 

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="namingStrategy" ref="namingStrategy"/> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="configLocation" value="classpath:hibernate.cfg.xml"/> 
    <property name="packagesToScan" value="com.execon.models"/> 
</bean> 

<tx:annotation-driven transaction-manager="txManager"/> 

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

的hibernate.cfg.xml

<hibernate-configuration> 
<session-factory> 
    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> 
    <property name="show_sql">true</property> 
    <property name="format_sql">true</property> 
    <property name="hibernate.current_session_context_class">thread</property> 
    <property name="hibernate.ejb.naming_strategy">com.execon.OracleNamingStrategy</property> 
</session-factory> 
</hibernate-configuration> 

出了什麼問題?

+0

提供任何錯誤堆棧跟蹤? – ant 2012-07-10 17:06:47

+0

沒有任何錯誤,並不重要,我會放在那裏(例如通過休眠提供的ImprovedNamingStrategy),sql查詢仍然是一樣的 – kamil 2012-07-10 17:11:17

回答

2

在檢查完你所做的一切的文檔後,獲取Spring和Hibernate的源代碼,在SessionFactory及其命名策略配置的位置放置斷點並通過代碼進行調試。

+0

經過一段時間的努力,它就像這樣開始工作。一些maven乾淨,一些項目乾淨,神奇,它正在工作... – kamil 2012-10-11 21:19:16