我有在MySQL上运行的应用程序,现在我想测试我的应用程序。在oracle DB上。这个应用程序使用spring,hibernate和jpa。我想知道如何在spring.xml等中配置更改的相同代码库中实现这一点,
此外,我已经为oracle创建了一组实现类,但是不知道如何告诉我的Dao使用oracle实现而不是MySQL。
答案 0 :(得分:0)
您可以选择数据库。与配置相同的代码库会更改DataSource和JPA entityManagerFactory中的定义文件。
<强>数据源强>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<!-- <property name="driverClass" value="com.mysql.jdbc.Driver"></property> -->
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
<property name="url" value="jdbc:mariadb://"></property>
</bean>
<强>的entityManagerFactory 强>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="dataSource" ref="dataSource" />
<property name="jpaProperties">
<props>
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>
<prop key="hibernate.default_schema">your schema</prop> -->
// your chice.
<prop key="hibernate.dialect">org.hibernate.dialect.oracle10gdialect</prop>
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLdialect</prop> -->
<prop key="hibernate.connection.pool_size">4</prop>
<prop key="hibernate.connection.shutdown">true</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="packagesToScan" value="your.dto" />
</bean>