接上一篇博客:http://www.cnblogs.com/tengpan-cn/p/5551323.html

主键类不需要写任何注解,表对象类使用@IdClass注解
在表对象类前面加@IdClass(value=主键类名.class)然后,表对象类中也不必包含主键类,直接分成各个属性即可。在多个属性前加@ID

添加主键类,注意必须实现Serializable接口

package com.pt.hibernate;import java.io.Serializable;public class UnionId implements Serializable{public String getSchoolName() {return schoolName;}public void setSchoolName(String schoolName) {this.schoolName = schoolName;}public int getId() {return id;}public void setId(int id) {this.id = id;}String schoolName;int id;
}

UnionId.java

package com.pt.hibernate;import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;@Entity
@IdClass(value=UnionId.class)
public class Student {String schoolName;int id;String stuName;public String getStuName() {return stuName;}public void setStuName(String stuName) {this.stuName = stuName;}@Idpublic String getSchoolName() {return schoolName;}public void setSchoolName(String schoolName) {this.schoolName = schoolName;}@Idpublic int getId() {return id;}public void setId(int id) {this.id = id;}}

Student.java

生成表的语句:

create table Student (id integer not null,schoolName varchar(255) not null,stuName varchar(255),primary key (id, schoolName)) ENGINE=InnoDB

转载于:https://www.cnblogs.com/tengpan-cn/p/5551480.html

hibernate ——联合主键相关推荐

  1. hibernate 联合主键 merge

    http://topic.csdn.net/u/20090722/16/1946dd91-3900-47e9-ab85-ed7db41252de.html Object obj=session.mer ...

  2. hibernate联合主键

    2019独角兽企业重金招聘Python工程师标准>>> 在日常开发中,有时候会出现要求两个或以上字段联合做主键的表,就两个字段做主键为例,用户表的联合主键为firstname和las ...

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

    参考1.参考2 文章目录 1 最后生成具有复合主键的表 2 People.hbm.xml文件 3 配置映射 4 java类 5 action中联合主键赋值方式 1 最后生成具有复合主键的表 数据库表的 ...

  4. hibernate 联合主键

    xml方式处理联合主键: 以有两个主键:id和name的student表为例. 先创建个主键类: package com.bjsxt.hibernate; //黑色为必写项 public class ...

  5. hibernate联合主键 注解方式

    转载自https://my.oschina.net/yotoo/blog/265571 方法一:主键类用@Embeddable,pojo类仍然用@Entity但是引用主键类的对象用@Id 主键pojo ...

  6. java 联合主键 注解_Hibernate的联合主键注解方式

    Hibernate联合主键注解方式,即是Hibernate中某一张表出现多个字段联合为唯一主键的情况.这时候就可以使用Hibernate的联合主键来操作.以用户表为例子,userId+userName ...

  7. oracle联合主键去重,联合主键的查询语句怎么写

    1.联合主键,SQL语句怎么写 建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍. 1.在数据库提供的GUI环境中建立(以SQL7为例). 输入表 ...

  8. Hibernate中用到联合主键的使用方法,为何要序列化,为何要重写hashcode 和 equals 方法...

    联合主键用Hibernate注解映射方式主要有三种: 第一.将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为 ...

  9. Hibernate JPA-实体类定义联合主键@IdClass、@EmbeddedId注解

    文章目录 一.复合主键@idClass.@Embeddable @idClass @Embeddable 网上实例demo 二.参考 一.复合主键@idClass.@Embeddable 可参照官方文 ...

最新文章

  1. Python 常用 PEP8 编码规范和建议
  2. 旋转动画 rotate
  3. IPC$概念及入侵方式研究
  4. BugkuCTF-MISC题又一张图片,还单纯吗
  5. java 变量序列化_Java序列化与静态变量
  6. mvp内粗泄露问题_如何在一天内从MVP转到生产服务器
  7. 机器学习的算法和普通《算法导论》里的算法有什么本质上的异同
  8. MFC浅析 8 CArchive 原理
  9. 华为nova 4e预热海报曝光:3月14日正式发布!
  10. Python+OpenCV:级联分类器(Cascade Classifier)
  11. 23. 线程如何退出结束
  12. paip.自定义java 泛型类与泛型方法的实现总结
  13. 【zk开发】让eclipse识别×.zul文件为xml格式
  14. Maple 教程(一)---初认识
  15. 通过python实现同步修改本地电脑时间
  16. Win10如何删除输入法(删除默认输入法)
  17. 多文件自平衡云传输(二)资源接收 断点续传篇 —————— 开开开山怪
  18. [质因数分解]樱花 洛谷P1445
  19. Element UI 的日历控件,并在日期中做标注
  20. 达梦误删除表空间文件恢复

热门文章

  1. Discrete Logging hunnu10590 pku2417 fzu 1352 hit 1928 zoj 1898
  2. Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱
  3. ubuntu20.04安裝迅雷
  4. 上汽乘用车-大数据岗位面试(失败经历)
  5. 关于yarn.nodemanager.vmem-pmem-ratio的通俗解释
  6. 让Eclipse变得快点,取消validation
  7. RxLifecycle详细解析
  8. 初识linux之给我一个家
  9. 反思O2O演化的三个时代,大数据与智能化才是未来所在
  10. java学习之路--面试之多线程基础