您的位置:首页 > 其它

hibernate中的配置文件详解

2016-09-15 16:06 393 查看
hibernate.cfg.xml
<!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>
<!-- 配置数据连接信息 -->
<!-- 数据库驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- url 默认相当于:jdbc:mysql://localhost:3306/hibernate4 -->
<property name="connection.url">jdbc:mysql:///hibernate4</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<!-- hibernate 首选项 -->
<!-- 数据库方言 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 配置是否打印sql语句  -->
<property name="show_sql">true</property>
<!-- 格式化SQL语句 -->
<property name="format_sql">true</property>
<!-- 数据库更新方式
create:每次执行都把原有数据表删除,然后创建该表
create-drop:在显式关闭SessionFactory时,将drop数据库schema
validate:检测
update:如果表不存在,就创建,有就不用创建
-->
<property name="hbm2ddl.auto">update</property>
<mapping resource="cn/xsx/entity/User.hbm.xml" />

</session-factory>
</hibernate-configuration>

*.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--package:声明pojo类所在的包,如果不写 那么在class中需要指明pojo类所在的包
schema:指数据库的模式,一个数据库下可以有多张表
-->
<hibernate-mapping package="cn.xsx.entity" >
<!-- class:指映射一个pojo类
提供了公共的无参构造方法-通过反射产生对象
属性用private修饰,并且生成对应的get/set方法
类不能用final来修饰-hibernate会产生代理类(cglib)
类需要指明标示
name 表示pojo类名
table 表示pojo类的表名 如果不写 默认是类名
-->
<class name="User" table="user">
<!--
id:表示实体类的标识(OID)
对应数据库表中的主键
name 指实体类的标识属性名
column表示对应数据库表的列名 如果不写 则和数据库中列名和属性名一致
length 表示数据库表中 对应数据类型的长度 如果不写 有默认长度
type 表示类型 如果不写hibernate可以找到对应pojo类的属性的类型
-->
<id name="id" column="id">
<!-- 主键生成策略
increment 用于long , short或者int类型生成 唯一标识.
只有在没有其他进程往同一张表插入数据时才能用.在集群下不要使用
(MySQL MSSQL)
identity 对DB2,MySQL,MSSQL Sybase 等内置标识字段提供支持 返回long short 或int类型
sequence 一般用于使用序列的数据库 如Oracle 返回 long short 或int 类型
<generator class="sequence">
<param name="sequence">user_seq</param>
</generator>
active 根据底层数据库能力选择identity sequence
assigned:自己指定主键
-->
<generator class="native">

</generator>
</id>
<!--实体类的属性
name:指明pojo类属性名称(区分大小写)
-->
<property name="name"/>
<property name="pwd"/>
</class>

</hibernate-mapping>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: