以下为曾经用到过的一些信息,在此记录下来。
一、<class>元素
用来定义一个持久化类和数据库表之间的映射信息。
<class>元素的属性
name:持久化类(或者接口)的Java全限名称。
table:对应的数据库表名。
discriminator-value:一个用于区分不同子类的值。
catalog:catalog名字。
lazy:通过设置lazy="false",所有的延迟加载功能将全部禁用。
abstract:用于在<union-subclass>的继承结构中标识抽象超类。
二、<id>
定义对应数据库表的主键字段。
name:标识属性的名字。
type:hibernate类型的名字。
colomn:主键字段的名字。
<generator>:主键生成策略。 <param>:用来传递参数。
三、<property>
为类定义了一个持久化的JavaBean风格的属性。
name:属性名字。
column:对应数据库表的字段名。
type:hibernate类型的名字。
举例:
<?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
-->
<hibernate-mapping>
<class name="cn.itcast.hibernate.domain.User" table="user" catalog="test">
<!-- 指定hibernate使用哪个缓存插件 -->
<!-- <cache usage="read-write"/> -->
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<version name="ver"></version>
<component name="name">
<property name="firstName" column="first_name"></property>
<property name="lastName" column="last_name"></property>
</component>
<property name="birthday" type="java.util.Date">
<column name="birthday" length="10" />
</property>
</class>
</hibernate-mapping>
若遇到其他属性,望继续添加。