Hibernate配置文件(Hibernate.cfg.xml)

时间:2021-02-15 12:01:20

配置在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对象创建时,如果表结构没有变化(映射文件配置与数据库表中的字段比较),将正常运行,否则报错
Hibernate配置文件(Hibernate.cfg.xml)
Hibernate配置文件(Hibernate.cfg.xml)

2.update:

在SessionFactory对象创建时,如果表结构有变化(映射文件配置与数据库表中的字段比较),则增量更新(没有的增加,有的不删)
Hibernate配置文件(Hibernate.cfg.xml)

3.create:

在SessionFactory对象创建时,不管有没有变化,都删除原表(如果有),创建新表
Hibernate配置文件(Hibernate.cfg.xml)

4.create-drop:

在SessionFactory对象创建时,不管有没有变化,都删除原表(如果有),创建新表,在session.close()之后,会删除表
Hibernate配置文件(Hibernate.cfg.xml)