2

Oracle DBの識別子名に関する問題を(おそらく)解決するのに非常に興味深いことがわかりました-> http://code.google.com/p/hibernate-naming-strategy-for-oracle/ しかし、それを機能させるのに苦労しています私のプロジェクトをSpringMVCで使用します。

私はそれが可能だったすべての場所に追加しましたが、どういうわけか春は私のHibernateの命名戦略を設定していません。

私のサーブレットの一部-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>

問題であると想定されるのは?

4

2 に答える 2

6

hibernate.ejb.naming_strategyプログラムで設定するとうまくいきます。

configuration.setNamingStrategy(YourNamingStrategy.INSTANCE);

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html#configuration-programmatic

于 2012-10-09T07:59:11.240 に答える
2

意図したとおりにすべてを実行したことを示すドキュメントを確認した後、SpringとHibernateのソースコードを取得し、SessionFactoryとその命名戦略が構成される場所にブレークポイントを設定し、コードをデバッグします。

于 2012-07-11T18:11:10.440 に答える