`

注解配置 javabean hibernate 关联关系

阅读更多

import javax.persistence.*;

一对多:

/**

* OneToMany:指明Classes与Student之间是一对多关系,Classes是主类,Student是关系类

* cascade:定义类和类之间的级联关系,对当前类对象及其关联类对象采取相同的操作

* fetch:定义检索策略,FetchType.EAGER(主类加载时关系类就加载)和FetchType.LAZY(关系类调用时才加载),在这里当然要lazy

* mappedBy:定义类之间的双向关系,如果类之间是双向关系就需要定义,其值是"多"方类中"一"方的变量名

* targetEntity:关系类的类类型

* OrderBy("id asc"):加载关系类时按照id升序(降序desc)

* mappedBy="classes"

*/

@OneToMany(

cascade=CascadeType.ALL,

fetch=FetchType.LAZY,

targetEntity=Student.class

)

@JoinColumn(name="classes_id",referencedColumnName="id")

private Set<Student> students = new HashSet<Student>(0);

多对一:

/**

* @ManyToOne 学生--班级 多对一

* classes_id:关联字段

* cascade:设定级联操作

* cascade=CascadeType.ALL

* fetch:是否懒加载,不要设置此处为lazy,否则会报错illegally attempted to associate a proxy with two open Sessions

* fetch=FetchType.LAZY

* optional:关联字段是否允许为空

*/

@ManyToOne(optional=true)

@JoinColumn(name="classes_id")

private Classes classes;

多对多

/**

* 多对多:老师-学生

*/

@ManyToMany

@JoinTable(name="th_st",inverseJoinColumns={@JoinColumn(name="teacher_id")},joinColumns={@JoinColumn(name="student_id")})

//Fecth策略定义

@Fetch(FetchMode.SUBSELECT)

//集合按id排序.

@OrderBy("id")

private Set<Teacher> teacherList = new HashSet<Teacher>(0);

级联操作的使用场景:

@ManyToOne

 

@OneToMany

级联删除

级联增加

分享到:
评论

相关推荐

    使用注解javaBean关联数据库字段

    - Hibernate:通过Hibernate的注解API,可以直接在JavaBean中定义数据库映射,简化ORM(对象关系映射)过程。 - MyBatis:MyBatis允许在Mapper接口和XML映射文件中使用注解,实现SQL语句的动态生成。 5. **工具...

    hibernate3.1.2参考文档

    - 使用Hibernate注解或XML映射文件(hbm.xml)将类与数据库表关联。例如,Event类可以映射到名为events的表,通过@Id注解指定id字段为主键,@Column注解定义其他字段的映射。 5. Session工厂和Session - ...

    hibernate笔记--云图智联

    注解是使用Hibernate进行对象关系映射的一种方式,它可以减少配置文件的编写,直接在实体类上标注映射信息。 ###Hibernate查询深入 Hibernate提供了Criteria API,可以在代码中创建查询条件,进行复杂的查询操作,...

    hibernate框架笔记

    - `@OneToMany`、`@ManyToOne`、`@ManyToMany`:表示实体之间的关联关系。 - `@JoinColumn`、`@JoinTable`:指定外键或中间表。 - `@Column`:指定字段属性。 通过以上介绍可以看出,Hibernate不仅提供了丰富的...

    网站设计与架构hibernate

    例如,通过 `@ManyToOne`、`@OneToMany` 等注解或在 `.hbm.xml` 文件中定义关联关系,实现不同表之间的数据关联。 **4. HQL 语言** Hibernate Query Language(HQL)是 Hibernate 提供的一种面向对象的查询语言,...

    用Hibernate做的例子

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。本示例将深入讲解如何利用Hibernate进行数据库操作,尽管可能存在一些不足之处,但仍然能够帮助初学者理解...

    JavaBean2DB:JavaBean2DB

    - **映射文件或注解**:使用Hibernate的XML映射文件或注解,将JavaBean的属性与数据库表的字段关联起来。 - **生成DDL**:Hibernate可以通过反向工程(Reverse Engineering)自动生成数据库表的DDL(Data Definition...

    Hibernate_Druid整合源码

    4. 配置实体类:创建JavaBean表示数据库表,使用Hibernate的注解进行字段映射。 5. 编写DAO层:使用Hibernate的Session接口进行数据库操作,如保存、查询、更新和删除。 6. 测试:编写JUnit测试类,验证整合后的功能...

    myeclipse中的hibernate反转

    在IT行业中,尤其是在Java开发领域,使用ORM(对象关系映射)框架如Hibernate可以极大地提高开发效率。...在实际开发中,根据项目需求和团队规范,可能还需要进行额外的配置和优化,如添加懒加载、关联关系的处理等。

    SSH框架整合中hibernate框架所需要的配置文件

    其次,描述中提到的"在JavaBean所在的包下映射的配置文件"通常指的是Hibernate的实体类映射文件,如`.hbm.xml`或采用注解方式的映射。这些文件描述了实体类与数据库表之间的关系,包括字段映射、主键策略、关联关系...

    MyEclipse10.7由表自动生成Hibernate实体对象

    例如,可能会需要添加业务逻辑方法、修改数据类型的映射关系,或者调整关联关系等。 总结而言,MyEclipse 10.7提供了强大的工具支持,通过简单的配置和操作,可以大大提高开发者在数据库交互和ORM映射上的开发效率...

    hibernate完全自学指导(上)

    Hibernate通过Hibernate实体类(通常是JavaBean)和注解或XML配置文件定义这种映射关系。实体类中的属性对应数据库表的字段,而关系映射(如一对一、一对多、多对多)则通过关联字段实现。这大大降低了数据库操作的...

    hibernate开发文档

    其核心组件包括:配置文件(hibernate.cfg.xml)、实体类(Entity)、映射文件(.hbm.xml或注解)以及Session工厂(SessionFactory)和Session。 ### 二、安装与配置 1. **环境准备**:确保JDK、Maven或Gradle等...

    hibernate.jar

    Hibernate支持一对一、一对多、多对一、多对多等多种关联映射,通过配置文件或注解定义关联规则,如外键约束、集合映射等。 6. **延迟加载与即时加载** 延迟加载(Lazy Loading)是Hibernate的一大特性,仅在真正...

    spring jpa操作数据库 级联数据 hibernate

    - "JPA+-amp+Hibernate+注解+.doc"可能包含了关于使用注解配置JPA和Hibernate的详细示例。 - "JPA_由数据库生成JavaBean.docx"可能介绍了如何从数据库反向工程生成Java实体类。 - "JPA之OneToMany和ManyToOne处理...

    精通hibernate3.0--java数据库持久层开发实践(付京周)2

    - **映射文件(*.hbm.xml或注解)**:用于定义实体类和数据库表之间的映射关系,包括主键策略、字段映射、关联关系等。 #### 4. 数据库操作 - **基本CRUD操作**:通过Session接口提供的方法,可以轻松地完成创建、...

    j2ee简介(包括servletjavabean jsp jdbc hibernate struts spring)

    通过配置XML或注解,Hibernate可以透明地管理数据库的持久化。 **Struts** Struts是基于MVC(Model-View-Controller)设计模式的Java Web框架,它帮助开发者构建结构清晰、易于维护的Web应用。Struts通过Action和...

    精通Hibernate

    Hibernate是由 Gavin King 创建的,它基于 JavaBean 模型,实现了对象与数据库表之间的映射。通过XML或注解方式定义映射规则,使得Java对象可以直接操作数据库,降低了开发复杂性。Hibernate支持多种数据库,如MySQL...

    hibernate(WangJian_大总结_王健)

    - **hibernate.cfg.xml** 文件则用来配置实体类与数据库表的映射关系,通常会引用 `.hbm.xml` 文件或使用注解定义这些映射关系。 配置过程中,Hibernate会首先尝试读取 `hibernate.properties` 文件,然后可以通过 ...

Global site tag (gtag.js) - Google Analytics