hibernate之xxx.hbm.xml配置详解

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 1.hibernate-mapping对象关系映射的根元素,其它元素必须嵌套在此元素内 -->
<hibernate-mapping  package="com.lanhuigu.hibernate.entity"><!-- 2.package为实体类在哪个包下 -->
		<!-- 
			3.class中name为持久化的实体类(Customer),table为映射到数据库中的表名(CUSTOMERS),
			如果没有设置table,默认类名作为表名
		-->
		<class name="Customer" table="CUSTOMERS">
			<!-- 
				4.以下配置属性解释: 
				  4.1 name为实体类属性
				  4.2 column为映射到数据库中的字段名,如果没有配置column,默认使用name属性作为映射后数据库表字段名
				  4.3 type为字段类型,如果没有设置type,映射时自动采用实体类的java类型,对应映射数据库字段类型
				  java类型映射到数据库类型参照表:
				  java类型>>>>>>>>>>数据库类型
				  string           VARCHAR
				  int              INT
				  character        CHAR
				  boolean          BIT
				  text             TEXT
				  binary           BLOB
				  date             DATE
				  timestamp        TIMESTAMP
				  4.4 not-null设置该字段是否允许为null,
				  4.5 length设置字段的长度 
		    -->
			<!-- 设置主键 -->
			<id name="id" column="ID" type="long">
				<!-- 主键生成方式-->
				<generator class="increment"/>
			</id>
			<!-- 基本属性,基本属性必须设置在主键之口-->
			<property name="name" column="NAME" type="string" length="25" not-null="true" />
			<property name="email" column="EMAIL" type="string" not-null="true" />
			<property name="password" column="PASSWORD" type="string" not-null="true" />
			<property name="phone" column="PHONE" type="int" />
			<property name="address" column="ADDRESS" type="string" />
			<property name="sex" column="SEX" type="character" />
			<property name="married" column="IS_MARRIED" type="boolean" />
			<property name="description" column="DESCRIPTION" type="text" />
			<property name="image" column="IMAGE" type="binary" />
			<property name="birthday" column="BIRTHDAY" type="date" />
			<property name="registeredTime" column="REGISTERED_TIME" type="timestamp" />
		</class>
	
</hibernate-mapping>


你可能感兴趣的:(Hibernate,property,generator,hbm.xml)