常规映射

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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="POJO类(含包名)" table="表名" schema="数据库名">
<id name="类中对应属性" type="对应JAVA类型">
<column name="主键列名" sql-type="列类型" length="长度">
</id>
<property name ="类中对应属性" type="对应Java类型">
<column name="列名" sql-type="列类型" length="长度">
</property>
…other property
</class>
</hibernate-mapping>

复合主键

  • 符合主键配置文件中使用composite-id表示,并重写equalshashcode方法

    1
    2
    3
    4
    5
    6
    <composite-id>
    <key-property name="属性" type="JAVA类型">
    <column name="列名">
    </key-property>
    …其他key-property
    </composite-id>
  • 也可单独新建主键类,在POJO类中引用该主键类,在配置文件中声明

    1
    2
    3
    <composite-id name="主键类型的属性" class="主键类(含包名)">
    …key-property
    </composite-id>