`

hibernate注解 关系映射

 
阅读更多

1)一对一外键关联映射(单向)

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name="userid",unique=true)

//一对一外键关联,使用@OneToOne,并设置了级联操作

//@JoinColum设置了外键的名称为userid(数据库字段名),如果不设置,则默认为另一类的属性名+ _id

 //外键的值是唯一的(unique),不可重复,与另一类的主键一致

 

2)一对一外键关联映射(双向)

Class1里与上面一样,  

Class2

@OneToOne(mappedBy="class2",cascade=CascadeType.ALL)

//一对一双向关联关系,使用@OneToOne

//注意:需要加上mappedBy="class2",如果不加上的话,

//Class2也会生成一个外键(class1_id

//mappedby="class2"需要指向与他关联对象的一个属性

//说明双向关联关系中,有且仅有一端是作为主体(owner)端存在的

//主体端负责维护联接列

//对于不需要维护这种关系的从表则通过mappedBy属性进行声明

//mappedBy的值指向主体的关联属性

//规律:只有是双向关联关系,都加上mappedby

    //cascade=CascadeType.ALL级联

 3)一对一关联表映射(单向)

@OneToOne(cascade = CascadeType.ALL)

@JoinTable(name ="basicdetail",

   joinColumns =@JoinColumn(name="class1id"),

   inverseJoinColumns =@JoinColumn(name="class2id")

//通过basicdetail这个表关联class1class2该关联表拥有名为class2id的外键列,该外键指向class2表,该信息定义为inverseJoinColoumns的属性值,而class1id外键列指向class1表,该信息定义为joinColumns的属性值。

4)一对一关联表映射(双向)

Class1里与上面一样,  

Class2

@OneToOne(mappedBy="class2",cascade=CascadeType.ALL)

5)一对一主键关联映射(单向)

在从表类的一端如下设置

@Id

@GeneratedValue(generator="pkGenerator")

@GenericGenerator(name ="pkGenerator",

              strategy="foreign" ,

              parameters={@Parameter(name="property",value="class1")})

//从表类的ID是根据主表类的ID来赋值的,这里需要设置ID生成器的策略为foreign,参数中指定从表类的ID是使用主表类对象中的ID

@OneToOne(cascade=CascadeType.ALL)

@PrimaryKeyJoinColumn

通过@PrimaryKeyJoinColumn批注定义了一对一关联

6)一对一主键关联映射(双向)

主表类的一端如下:

@OneToOne(cascade=CascadeType.ALL, mappedBy="class1")

mappedBy="class1"这个是必须的.否则会在主表类生成从表类的一个外键。    

 

7)一对多关联映射外键关联(单向)


@OneToMany

@JoinColumn(name="orgid")

 

8)一对多关联映射外键关联(双向)

一端:


@OneToMany

@JoinColumn(name="orgid")

 

多端:

@ManyToOne

@JoinColumn(name="orgid")

 

9)一对多关联表映射(单向)

@ManyToOne

@JoinTable(name ="people_study",

              joinColumns =@JoinColumn(name="sid"),

              inverseJoinColumns =@JoinColumn(name="pid")

             )

 

 10)一对多关联表映射(双向)

一端:

@OneToMany(mappedBy="class2")

多端:

@ManyToOne

@JoinTable(name ="people_study",

     joinColumns =@JoinColumn(name="sid"),

        inverseJoinColumns =@JoinColumn(name="pid")

)

 

11)多对多关联映射(单向)

@ManyToMany

 

@JoinTable(name="t_u_r",

joinColumns={@JoinColumn(name="u_id")},

inverseJoinColumns={@JoinColumn(name="r_id")}

)

 

12)多对多关联映射(双向)  User


@ManyToMany

 

@JoinTable(name="t_u_r",

joinColumns={@JoinColumn(name="u_id")},

inverseJoinColumns={@JoinColumn(name="r_id")}

)

 

 

Role

@ManyToMany(mappedBy="role")

分享到:
评论

相关推荐

    Hibernate 注解映射

    Hibernate 注解映射是 Hibernate 框架中的一种映射方式,它使用 Java 注解来描述实体类和数据库表之间的映射关系,提高开发效率。 一、 环境搭建和基本映射 在使用 Hibernate 注解映射之前,需要添加相关的 jar 包...

    Hibernate注解 关联关系映射注解.docx

    在Java的持久化框架Hibernate中,注解是用于简化对象关系映射(ORM)的一种方式。本篇文章将详细探讨在Hibernate中如何使用注解来处理各种关联关系,特别是`mappedBy`属性的用法。 首先,`@OneToMany`注解用于表示...

    hibernate注解处理映射关系共14页.pdf.zip

    《Hibernate注解处理映射关系》是一份深入探讨Hibernate框架中注解应用的教程,共有14页内容,旨在帮助开发者更好地理解和运用Hibernate在数据库映射中的注解技术。Hibernate作为Java领域广泛使用的对象关系映射...

    hibernate的关系映射

    关系映射是Hibernate的核心特性之一,它允许我们将复杂的数据库结构与Java类之间建立起灵活的映射关系。 **一、什么是关系映射** 关系映射是将数据库中的关系模型(如表、字段等)映射到对象模型(Java类和它们的...

    Hibernate 注解说明文档

    本文档将深入探讨Hibernate注解的使用,帮助开发者更好地理解和利用这些注解来实现对象关系映射(ORM)。 一、Hibernate注解基础 Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而...

    hibernate对象关系映射实例

    标题“Hibernate对象关系映射实例”表明我们将探讨的是使用Hibernate框架进行对象关系映射(ORM)的实际应用。ORM是将数据库表结构映射为Java类对象的一种技术,它使得开发者可以使用面向对象的方式来操作数据库,而...

    hibernate关联关系映射

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。"hibernate关联关系映射"是Hibernate的核心概念之一,它定义了如何...

    hibernate 关系注解

    在Hibernate中,关系注解用于在实体类中定义不同类型的数据库关系,如一对一、一对多、多对多等。以下是关于Hibernate关系注解的详细说明: 1. **一对一外键关联映射(单向)** 使用`@OneToOne`注解实现一对一关系...

    JAVA数据类型与Hibernate的类型映射

    总结来说,理解并掌握Java数据类型与Hibernate的映射关系,是使用Hibernate进行数据库操作的基础。这涉及到对Java基本类型、复杂类型以及自定义对象的映射,还包括对数据库NULL值的处理、对象关系映射以及工具的使用...

    hibernate的多种映射关系

    在 Hibernate 中,映射关系是将数据库表与 Java 类之间的关联方式,使得对象模型可以与关系模型无缝对接。本篇文章将详细探讨 Hibernate 中的多种映射关系。 1. **一对一映射 (One-to-One)** 一对一映射表示两个...

    Hibernate注解配置表映射实例

    在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何使用Hibernate的注解来配置实体类与数据库表之间的映射。 Hibernate注解提供了在Java类和类属性上直接定义数据库映射的能力,避免了XML配置文件的繁琐...

    Hibernate注解API.pdf

    ### Hibernate注解API知识点概述 #### 一、Hibernate注解简介 Hibernate 是一款非常流行的 Java 持久层框架,它极大地简化了数据库操作。在 Hibernate 中,可以通过使用注解来映射对象与数据库表之间的关系,从而...

    Hibernate注解jar包

    Hibernate是Java领域中一款广泛应用的...总的来说,Hibernate注解让Java开发者能够更直观地将对象模型映射到数据库,提高了开发效率,降低了出错概率。理解并熟练运用这些注解,是提升Java企业级开发能力的重要一步。

    Hibernate关系映射

    在Hibernate中,我们通过配置XML映射文件或使用注解来实现这种关系。 **二、配置“多对一”关系** 1. **XML映射方式:** 在Hibernate的.hbm.xml映射文件中,我们可以为多的一方添加`<many-to-one>`标签,指定目标...

    springmvc+hibernate注解框架整合 demo

    这个"springmvc+hibernate注解框架整合 demo"是一个示例项目,展示了如何通过注解方式将这两个框架无缝集成。 **Spring MVC 框架** Spring MVC 是 Spring 框架的一部分,它提供了处理HTTP请求、转发响应以及管理...

    Hibernate注解用法总结

    通过这样的注解方式,开发者可以更加灵活和直观地管理Java对象与数据库表之间的映射关系,简化了Hibernate的配置过程,提高了开发效率。同时,这些注解还允许开发者针对不同的数据库环境定制主键生成策略,适应不同...

Global site tag (gtag.js) - Google Analytics