私は現在、SpringでJSF 2.0を使用している中規模Webプロジェクトに取り組んでいます。 。 WebappはTomcat v7.0 Serverにデプロイされます。 私はHibernate/JPA/C3P0 /を使用してデータベースに接続しました(以前のHyperSQL)これまでに何度もやったOracle DBへの切り替えを試みましたが、これは問題ではありませんでした。変更された構成は無視されています。サーバーを起動すると、HyperSQlドライバと古いDBが使用されますが、Tomcatのワークディレクトリを消去し、Webappを削除して再デプロイしました(これはもちろんスクラッチから構築しました)。 プロジェクトは2つのWebアプリケーションと1つのサービスパートに分割されています。プロジェクトはEclipseに依存しています。しかし、すべてのビジネスロジックはサービスレイヤーに実装されていますが、私はそれを削除するだけで、webappはエラーを投げず、何も変わっていないかのように開始できます。これは、どこかにキャッシュされなければならず、サーバー上でリフレッシュされないことを私に伝えます...私はまた、サーバーを削除し、新しくダウンロードされたインスタンスを追加しました - それでも同じこと...誰でもアイデアを持っていますか?ここでHyperSQLからOracleへのHibernate(JPA、JSF 2.0、Spring)の切り替え - コンフィグレーションが無視されています
は私service.spring.xmlです:
<!-- Enable processing of @PersistenceContext and @PersistenceUnit -->
<context:annotation-config/>
<!-- Enable transaction configuration with @Transactional -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- Configure a c3p0 pooled data source -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="user"/>
<property name="password" value="password"/>
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/>
<property name="jdbcUrl" value="jdbc:oracle:thin:@dburl"/>
<property name="initialPoolSize" value="1"/>
<property name="minPoolSize" value="1"/>
<property name="maxPoolSize" value="10"/>
</bean>
<!-- Configure the JPA entity manager factory with Hibernate -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false"/>
<property name="database" value="ORACLE"/>
<property name="generateDdl" value="true"/>
</bean>
</property>
<property name="persistenceUnitName" value="mygourmet"/>
</bean>
<!-- Configure transaction manager for JPA -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
そして、私のpersistence.xml:
<persistence-unit name="mygourmet" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.use_sql_comments" value="false" />
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.cache.use_query_cache" value="false" />
<property name="hibernate.cache.use_second_level_cache" value="false" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
私は別のプロジェクトにまったく同じ設定を使用し、それは魔法のように動作します。..どのようなヒントも高く評価されています。事前におねがいします!
Tomcatはデフォルトでwarファイルを展開します。あなたは戦争と解凍されたフォルダを削除しましたか? –
私はEclipse用のJBOSSのtomcatプラグインを使用していますので、Eclipseは自動的にそれを処理する必要がありますが、ヒントのおかげで! – user871784