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

配置在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对象创建时,不管有没有变化,都删除原表(如果有),创建新表
sql语句

4.create-drop:

在SessionFactory对象创建时,不管有没有变化,都删除原表(如果有),创建新表,在sessionFactory.close()之后,会删除表
sql语句
sessionFactory.close()之后执行的sql语句

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章