Hibernate(JPA,JSF 2.0,Spring)从HyperSQL切换到Oracle - 配置被忽略

时间:2012-03-12 09:37:43

标签: oracle hibernate jpa hsqldb c3p0

我目前正在开发一个中型Webproject,使用JSF 2.0和Spring.As IDE我使用Eclipse和JBoss Tools。 Webapp部署到Tomcat v7.0服务器。 我使用Hibernate / JPA / C3P0 /连接到数据库(以前的HyperSQL)我现在尝试切换到Oracle数据库,我之前做了很多次,它从来都不是问题,但是现在看来,改变了configuartion被忽略了。当我启动服务器时,它仍然使用HyperSQl驱动程序和旧数据库,虽然我清理了Tomcat的工作目录,删除并重新部署了Webapp(我当然是从头开始构建的)。 该项目分为两个,一个是webapp,另一个是服务部分。该项目依赖于Eclipse。但是,虽然所有的businesslogic都是在服务层实现的,但我可以删除它,而webapp不会抛出错误,我可以启动它,好像什么都没有改变。这告诉我它必须缓存在某个地方并且它没有在服务器上刷新...我也删除了服务器,添加了一个新下载的实例 - 仍然是同样的事情......有没有人有一个想法这可能是什么?

这是我的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>

我在另一个项目中使用完全相同的配置,它就像一个魅力...任何提示都非常感谢,谢谢你们提前!

1 个答案:

答案 0 :(得分:0)

问题解决了 - 我做了一个mvn clean install,生成了新的eclipse项目并将它们导回到eclipse中。似乎我的服务模块中的更改未被eclipse识别。