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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 从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() {
        ...
    }

}
目录
相关文章
|
6月前
|
缓存 Java 数据库连接
解析Hibernate与JPA:Java对象的数据库化之旅
【6月更文挑战第25天】在Java企业开发中,Hibernate和JPA提供优雅的数据持久化方案。Hibernate是JPA规范的强大ORM实现,简化对象与数据库映射。配置环境后,通过@Entity注解定义实体类映射表,如`User`类映射&quot;users&quot;表。利用JPA的EntityManager执行查询和更新,如JPQL查询及对象更新。事务管理和性能优化是关键,确保数据完整性和应用性能。本文揭示了Hibernate与JPA的最佳实践,助开发者从容应对数据持久化。
48 0
|
前端开发 Java 数据库连接
源码解析最流行的Validator框架——Hibernate Validator
源码解析最流行的Validator框架——Hibernate Validator
640 0
源码解析最流行的Validator框架——Hibernate Validator
|
SQL Java 数据库连接
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
205 0
Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
|
Java 数据库连接 Android开发
解析eclipse下生成Hibernate DAO中的几个方法
        前几天用eclipse下生成的Hibernate DAO做了一个实现的增删查改的小例子,在这里解释下生成DAO中的几个方法到底是做什么用的.这里我将以注释的形式在下面的这段java代码中解释. package dao;/** *//** * 很简单引入你要用的包 */import java.util.List;import org.apache.commons.log
1070 0
|
24天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
64 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
72 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
2月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
64 0
|
2月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
85 0
|
7天前
|
PyTorch Shell API
Ascend Extension for PyTorch的源码解析
本文介绍了Ascend对PyTorch代码的适配过程,包括源码下载、编译步骤及常见问题,详细解析了torch-npu编译后的文件结构和三种实现昇腾NPU算子调用的方式:通过torch的register方式、定义算子方式和API重定向映射方式。这对于开发者理解和使用Ascend平台上的PyTorch具有重要指导意义。

推荐镜像

更多