Hibernate映射文件
Posted traveller-hzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate映射文件相关的知识,希望对你有一定的参考价值。
Hibernate的ORM映射包含很多方面,其中一些需要在映射文件中进行配置,比如:
类——表,表现在类名和表名相对应
字段——列,表现在字段名和列名相对应
对象——行,表现在OID和主键相对应
在Hibernate中用来唯一标志实体对象的字段称为OID,一般使用id字段作为OID,Hibernate使用OID判断两个实体对象是否对应同一行数据,
实体类 User.java
public class User {
private Long id; private String name; private Date birthday;
/* get/set方法 */ } |
映射文件习惯上命名为:类名.hbm.xml,DTD约束文件在org.hibernate包下
User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.rupeng.pojo.User" table="T_Users"> <id name="id" column="id"> <generator class="native"></generator> </id> <property name="name" column="name"></property> <property name="birthday" column="birthday" type="date"></property> </class> </hibernate-mapping> |
<class>用来映射类和表
<id>用来映射OID和主键列
<generator>用来指定主键生成策略
主键生成策略 |
适用类型 |
说明 |
identify |
int、long |
使用自动递增主键生成主键值,比如mysql |
sequence |
int、long |
使用序列生成主键值,比如oracle |
native |
int、long |
根据数据库自动选择identity或者sequence |
uuid |
String |
由Hibernate生成UUID主键值 |
increment |
int、long |
由Hibernate生成递增主键值 |
assigned |
String、int、long |
由开发人员自己生成主键值 |
<property>用来映射字段和列,至于字段类型和列类型,Hibernate一般都能正确判断,但对于Date类型的字段最好使用type属性指定想要的列类型,如date、time、datetime
以上是关于Hibernate映射文件的主要内容,如果未能解决你的问题,请参考以下文章