配置在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对象创建时,不管有没有变化,都删除原表(如果有),创建新表,在session.close()之后,会删除表