学习Spring框架+Hibernate 配置了一个小工程,总结一点配置方面需要注意的地方:
1.使用C3P0连接池,对应的属性配置。
2.使用oracle数据库,对应的配置
注释部分:
<prop key="hibernate.hbm2ddl.auto">create</prop>
其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。建议value="none"。
详细如下:
validate 加载hibernate时,验证创建数据库表结构。
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
3.如果使用的是xml配置 则需要加上
bean id="sessionFactory" 中
1.使用C3P0连接池,对应的属性配置。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@10.78.XXX.XX:1521:XXX"></property>
<property name="user" value="username"></property>
<property name="password" value="password"></property>
</bean>
2.使用oracle数据库,对应的配置
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<!--<prop key="hibernate.hbm2ddl.auto">create</prop>-->
</props>
</property>
注释部分:
<prop key="hibernate.hbm2ddl.auto">create</prop>
其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。建议value="none"。
详细如下:
validate 加载hibernate时,验证创建数据库表结构。
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
3.如果使用的是xml配置 则需要加上
<property name="mappingResources">
<list>
<value>product.hbm.xml</value>
</list>
</property>
与上面提到的<property name="hibernateProperties"> 平行保存于
bean id="sessionFactory" 中