自底向上带你逆向解析hibernate联合主键

简介: 从mysql的建表语句出发了解析hibernate联合主键

参考1参考2
1 最后生成具有复合主键的表
数据库表的主键由两个及以上的字段组成

create table people(
name varchar(20),
type varchar(20),
age int(11),
primary key (name,type)
); 

2 People.hbm.xml文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com">
    <class name="People" table="people">
        <composite-id name="peopleKey" class="com.PeoplePK">
            <key-property name="name" />
            <key-property name="type" />
        </composite-id>
        <property name="age" column="age" />
    </class>
</hibernate-mapping>

3 配置映射

<mapping resource="com/People.hbm.xml" />

4 java类

  • People.java
package com;
public class People {
    PeoplePK peopleKey = new PeoplePK();
    private int age;
    public PeoplePK getPeopleKey() {
        return peopleKey;
    }
    public void setPeopleKey(PeoplePK peopleKey) {
        this.peopleKey = peopleKey;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

主键类

package com;
public class PeoplePK implements java.io.Serializable {

    private String name;

    private String type;

    public String name() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String type() {
        return type;
    }
    public void setType(String type) {
        this.secondName = secondName;
    }
    public boolean equals(Object obj) {
        ...
    }
    public int hashCode() {
        ...
    }

}
目录
相关文章
|
4月前
|
前端开发 Java 数据库连接
MyBatis查询优化:枚举在条件构建中的妙用
MyBatis查询优化:枚举在条件构建中的妙用
|
28天前
|
SQL Java 关系型数据库
MyBatis中的9种常用动态sql标签精妙用法
MyBatis中的9种常用动态sql标签精妙用法
42 0
|
7月前
|
SQL XML Java
Mybatis-Plus select不去查全部字段和去重
Mybatis-Plus select不去查全部字段和去重
292 0
|
9月前
|
存储 算法
|
10月前
|
XML SQL 缓存
MyBatis 表连接查询写法|三种对应关系
MyBatis 表连接查询写法|三种对应关系
101 0
|
11月前
|
SQL Java 数据库连接
MyBatis一对多映射关系的处理及分步查询的优点
MyBatis一对多映射关系的处理及分步查询的优点
109 0
|
SQL Oracle Java
MyBatis框架:第四章:插入记录并返回主键
MyBatis框架:第四章:插入记录并返回主键
239 0
|
XML SQL Java
[翻译]Mybatis useGeneratedKeys参数的使用和自增主键的获取方式
对于支持自动生成记录主键的数据库,如 MySQL 和 SQL Server,将 useGeneratedKeys 参数的值设置为 true,就可以在记录insert成功后获得数据库自动生成的主键 ID
248 0
|
Java 数据库连接 mybatis
Mybatis的CRUD操作【包含查询记录总条数、模糊查找】(完整代码演示)
Mybatis的CRUD操作【包含查询记录总条数、模糊查找】(完整代码演示)
Mybatis的CRUD操作【包含查询记录总条数、模糊查找】(完整代码演示)