`

hibernate annoation (六 复合主键)

阅读更多

主键类:定义为@Embeddable

@Embeddable
public class F {

 private int id;
 private int id2;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public int getId2() {
  return id2;
 }
 public void setId2(int id2) {
  this.id2 = id2;
 }
 
}
持久化类:

@Entity
@Table(name="E_USER",uniqueConstraints={
  @UniqueConstraint(columnNames={"yahoo"})
  })
@IdClass(F.class)//将F作为主键类
public class User {

 private int id;
 private int id2;

//id id2必须和F中的属性一致
 private String yahoo;
 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)

 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 public int getId2() {
  return id2;
 }
 public void setId2(int id2) {
  this.id2 = id2;
 }
 public String getYahoo() {
  return yahoo;
 }
 public void setYahoo(String yahoo) {
  this.yahoo = yahoo;
 }
 
}

最终生成sql:(mysql)

create table E_USER (id integer not null, id2 integer not null, yahoo varchar(255), primary key (id, id2), unique (yahoo))

分享到:
评论

相关推荐

    hibernate复合主键配置和使用

    《Hibernate复合主键配置与使用详解》 在Java开发中,Hibernate作为一款强大的ORM框架,大大简化了数据库操作。然而,当我们面临复杂的数据表结构,尤其是涉及到复合主键时,如何在Hibernate中进行配置和使用就显得...

    hibernate 无主键表映射

    通过以上的解释,我们可以看到,虽然无主键表在数据库中并不常见,但在某些特定场景下,如复合主键,Hibernate提供了一套完整的解决方案。所提供的资源包括一个简单的Demo,可以实际运行并理解无主键表映射的实现...

    hibernate复合主键设置

    在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据结构,用于处理具有多个字段作为唯一标识的情况。本教程将深入探讨如何在Hibernate中设置复合主键,并提供一个可直接使用的配置示例。 ...

    Hibernate复合主键

    "Hibernate复合主键" Hibernate复合主键是指在 Hibernate 框架中使用复合主键来唯一标识一个实体。复合主键是指由多个字段组成的主键,用于唯一标识一个实体。在本例中,我们将通过一个简单的复合主键的做关联类的...

    hibernate复合主键映射

    在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据模型,它用于表示由多个属性共同构成的唯一标识。这种设计通常出现在实体类的某些属性组合起来才能唯一确定一个对象的情况下。本篇文章将...

    演示怎样在Hibernate中使用复合主键

    如果使用Hibernate开发legacy的数据库应用,对于数据库表中有使用字符串作为主键或者使用复合主键情况,那么对于这些情况的影射档是比较麻烦的。该示例应用演示了两张表ITEM和CATEGORY_ITEM表有主外键关系,并且ITEM...

    hibernate复合主键的实例

    在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据结构,用于处理具有多个字段作为唯一标识的情况。本实例将深入探讨如何在Hibernate中实现复合主键,并提供一个具体的示例来帮助理解。 ...

    Hibernate复合主键.

    本篇文章将深入探讨Hibernate如何支持和管理复合主键。 一、理解复合主键 在数据库设计中,复合主键是一种特殊情况,当单个字段不能唯一标识表中的每一行时,可以使用两个或多个字段的组合来创建唯一的标识。例如...

    Java的Hibernate框架中复合主键映射的创建和使用教程

    在Java的Hibernate框架中,复合主键映射是一种处理多列组合成主键的情况,它使得在数据库表中由两个或更多个字段组成的主键能够被正确地映射到实体类。在使用复合主键时,我们需要遵循一定的步骤和规则。 首先,...

    Hibernate中对数据库复合主键的支持.pdf

    ### Hibernate中对数据库复合主键的支持 #### 一、引言 在软件开发过程中,特别是在J2EE领域中,Hibernate作为一种流行的ORM(Object-Relational Mapping)框架被广泛使用。ORM框架的主要作用是将关系型数据库中的...

    hibernate3 注释生成复合主键或者嵌入式主键的方法及实例.doc

    这篇文档将介绍如何使用Hibernate注解来生成复合主键或嵌入式主键。 复合主键(Composite Key)是指由两个或更多个列共同构成的唯一标识,而嵌入式主键(Embedded Key)则是将主键字段嵌入到实体类内部。在不使用...

    Hibernate复合主键part1

    本章讲解Hibernate中对数据库复合主键的支持

    Hibernate复合主键视频2

    请更名为 Hibernate复合主键.part2.rar

    Hibernate复合主键3

    更名为 Hibernate复合主键.part3.rar

    hibernate中自动生成主键的办法

    Hibernate作为一款流行的Java持久层框架,提供了多种自动生成主键的方法,以适应不同场景的需求。本文将深入探讨Hibernate中自动生成主键的几种常见策略及其应用场景。 ### 1. UUID.hex UUID(Universally Unique ...

    Hibernate用UUID作为主键的Demo

    本教程将深入探讨如何在Hibernate中使用UUID(通用唯一识别码)作为实体类的主键。UUID是一种能确保全球范围内唯一性的标识符,其长度通常为32个字符的十六进制字符串。 ### 1. Hibernate简介 Hibernate是一个开源...

    hibernate一对一主键关联映射(单项关联)

    本篇将深入探讨在Hibernate中实现一对一主键关联映射的单项关联方式。这种关联意味着两个实体类共享相同的主键,即一个实体类的一个实例对应另一个实体类的唯一实例。 首先,我们要明确一对一主键关联映射的基本...

Global site tag (gtag.js) - Google Analytics