Hibernate 配置文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<!-- 是否打印SQL语句 -->
<property name="show_sql">true</property>
<!-- 格式化SQL语句 -->
<property name="format_sql">true</property>
<!-- 数据库更新方式:
create:每次执行 都先把原有数据包删除,然后创建该表
create-drop:在显示SessionFactory关闭时,将删除该表
validate:检测
update:如果表不存在则 创建,有就不用创建
-->
<!-- 数据库方言 -->
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!-- URL -->
<property name="connection.url">
jdbc:sqlserver://localhost:1433;databaseName=weboa
</property>
<property name="connection.username">sa</property>
<property name="connection.password">123</property>
<!-- JDBC驱动 -->
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="myeclipse.connection.profile">
mysqlserver
</property>
<!-- 映射文件信息 -->
<mapping resource="com/oa/branch/TbBranch.hbm.xml" />
</session-factory>
</hibernate-configuration>
Hibernate 实体类配置文件 类名.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<!-- package 声明TbBranch类所在的包,不写package 就需要指明TbBranch类的包 -->
<hibernate-mapping>
<!-- class值映射一个类
提供了公共的无参构造方法->通过反射产生对象
属性用 private修饰,并且声称对应get、set方法
类不能用final来修饰->hibernate会产生代理类(cglib)
类需要指明标识 id
name表示类名
table表示类对应数据库中表名 :如果不写默认是类名
-->
<class name="com.oa.branch.TbBranch" table="tb_branch" schema="dbo" catalog="weboa">
<!--
id表示实体类的标识(OID)
对应数据库表中的主键
name指实体类名的标识属性名
column表示对应数据库表的列名,如果不写 则数据库表中列名和属性名一致
length表示数据库表中 对应数据库类型的长度,如果不写有默认长度
type表示类型如果不写Hibernate可以找到对应pojo类属性的类型
int String java.lang.Integer
-->
<id name="branchId" type="java.lang.Integer">
<column name="branchId" />
<!-- 主键生成策略
increment,用于为long,short或者int类型生成 唯一标识
只有在没有其他进程中往同一张表中插入数据时才能使用,在集群下不要使用
(MySql,ms sql)
identity 对DB2,MySQL,MS SQL Server,Sybase和HypersoicSQL的内置标识字段提供支持
返回标识符是long,short或者int类型
sequence 在支持序列的数据库中使用 oracle
<generator class="sequence" >
<param name="sequence">user_seq</param>
</generator>
uuid UUID被编码为一个32位16进制字符串
native 根据底层数据库的能力选择identity,sequence,或hilo中的一个
assigned 自己指定主键
-->
<generator class="native" />
</id>
<!-- 实体类的属性
name:指明pojo类属性名称(区分大小写)
-->
<property name="branchName" type="java.lang.String">
<column name="branchName" length="50" not-null="true" />
</property>
<property name="remark" type="java.lang.String">
<column name="remark" length="50" />
</property>
</class>
</hibernate-mapping>