1、 实体类(POJO Plain and Old Java Ojbect) JavaBean 的要求
值对象, 只有 getter, setter, 没有业务方法
public class User implements java.io.Serializable {
private int id;
private String username;
getxxx
setxxx
}
a) 要有主键字段.
2、实体映射文件 实体名.hbm.xml
告诉 Hibernate 怎么来做对象映射. 向哪个表插入数据, 每个属性的数据类型, 以及
对应数据表里的列名.
一个文件配置多个实体类也是可以的, 一般来说是一个实体一个配置文件.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hi bernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.ne t/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="类路劲" table="users(数据库表格)" catalog="数据库名字">
<!-- 主键字段配置, hibernate 为我们生成主键id, 必须定义-->
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
<!-- increment 是先从数据库取最大ID然后加 1, 再存入数据库
assigned 必须手工赋值给一个 ID
auto, identify, s equence, native, uuid.hex, hilo 等等
-->
</id>
<!-- property 默认把类的变量映射为相同名字的表列,当然我们可以修改其映射方
式-->
<!-- 类型写法两种 Hibernate type: string, int; Java 类的全名: java.lang.Integer
-->
<property name="username" type="java.lang.String">
<!-- 指定对应数据库中的字段信息 -->
<column name="username" length="200" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="20" not-null="true" />
</property>
<property name="age" type="java.lang.Integer">
<column name="age" />
</property>
</class>
</hibernate-mapping>
值对象, 只有 getter, setter, 没有业务方法
public class User implements java.io.Serializable {
private int id;
private String username;
getxxx
setxxx
}
a) 要有主键字段.
b) 可序列化(缓存, 有时候在内存, 有时候放硬盘)
2、实体映射文件 实体名.hbm.xml
告诉 Hibernate 怎么来做对象映射. 向哪个表插入数据, 每个属性的数据类型, 以及
对应数据表里的列名.
一个文件配置多个实体类也是可以的, 一般来说是一个实体一个配置文件.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hi bernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.ne t/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="类路劲" table="users(数据库表格)" catalog="数据库名字">
<!-- 主键字段配置, hibernate 为我们生成主键id, 必须定义-->
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
<!-- increment 是先从数据库取最大ID然后加 1, 再存入数据库
assigned 必须手工赋值给一个 ID
auto, identify, s equence, native, uuid.hex, hilo 等等
-->
</id>
<!-- property 默认把类的变量映射为相同名字的表列,当然我们可以修改其映射方
式-->
<!-- 类型写法两种 Hibernate type: string, int; Java 类的全名: java.lang.Integer
-->
<property name="username" type="java.lang.String">
<!-- 指定对应数据库中的字段信息 -->
<column name="username" length="200" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="20" not-null="true" />
</property>
<property name="age" type="java.lang.Integer">
<column name="age" />
</property>
</class>
</hibernate-mapping>