实体类和映射文件

来源:互联网 发布:js map 值是否存在 编辑:程序博客网 时间:2024/04/29 11:20
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) 要有主键字段.

  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>