配置在src下
<?xml version='1.0' encoding='utf-8'?>
<!--約束文件-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration><!--根節點-->
<session-factory>
<!--在SessionFactory對象加載後,會加載這裏面的內容,會根據這裏面的映射文件對錶操作(根據hbm2ddl.auto的配置)-->
<!-- 數據庫連接配置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 是否顯示sql語句 -->
<property name="show_sql">true</property>
<!-- 表結構變化時操作策略 -->
<property name="hbm2ddl.auto">update</property>
<!-- 對應的映射文件位置(一般與實體類方同一位置) -->
<mapping resource="com/me/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
變化策略有4個值:
1.validate:
validate中文是合法化的意思,也就是說,在SessionFactory對象創建時,如果表結構沒有變化(映射文件配置與數據庫表中的字段比較),將正常運行,否則報錯
2.update:
在SessionFactory對象創建時,如果表結構有變化(映射文件配置與數據庫表中的字段比較),則增量更新(沒有的增加,有的不刪)
3.create:
在SessionFactory對象創建時,不管有沒有變化,都刪除原表(如果有),創建新表
4.create-drop:
在SessionFactory對象創建時,不管有沒有變化,都刪除原表(如果有),創建新表,在sessionFactory.close()之後,會刪除表