Annotation实现ManyToOne
实体类:
CassRoom.java
@Entity //注解成一个实体类 @Table(name="t_classroom") //对应数据库中表 public class ClassRoom { private int id; private String name; private int grade; @Id //主键 @GeneratedValue //主键生成方式-->自增长 public int getId() { return id; } 省略其他get,set(不配置其他属性对应的数据库中属性,就是以默认值) }
Student.java
@Entity @Table(name = "t_student") public class Student { private int id; private String name; private String no; private ClassRoom classroom; @Id @GeneratedValue public int getId() { return id; } @ManyToOne(fetch = FetchType.LAZY)// fetch=FetchType.LAZY 延迟加载 @JoinColumn(name = "cid")//外键 public ClassRoom getClassroom() { return classroom; } 省略其他get,set }
Annotation 实现OneToOne
实体类:
Person.java
@Entity @Table(name="t_person") public class Person { private int id; private String name; private IDCard idcard; @Id @GeneratedValue public int getId() { return id; } @OneToOne @JoinColumn(name="cid") public IDCard getIdcard() { return idcard; } 省略其他get,set }
IDCarid.java
@Entity @Table(name="t_idcard") public class IDCard { private int id; private String no; private Person person; @Id @GeneratedValue public int getId() { return id; } @OneToOne(mappedBy="idcard")//当双向关联时,设置下由谁维护关系 public Person getPerson() { return person; } 省略其他get,set }
Annotation 实现ManyToMany
实体类
Teacher.java
@Entity @Table(name="t_teacher") public class Teacher { private int id; private String name; private Set<TeacherCourse> tcs; @Id @GeneratedValue public int getId() { return id; } @OneToMany(mappedBy="teacher") @LazyCollection(LazyCollectionOption.EXTRA) public Set<TeacherCourse> getTcs() { return tcs; }
Course.java
@Entity @Table(name="t_course") public class Course { private int id; private String name; private Set<TeacherCourse> tcs; @Id @GeneratedValue public int getId() { return id; } @OneToMany(mappedBy="course") @LazyCollection(LazyCollectionOption.EXTRA) public Set<TeacherCourse> getTcs() { return tcs; }
TeacherCourse.java
@Entity @Table(name="t_teacher_course") public class TeacherCourse { private int id; private double ach; private Teacher teacher; private Course course; @Id @GeneratedValue public int getId() { return id; } @ManyToOne @JoinColumn(name="tid") public Teacher getTeacher() { return teacher; } @ManyToOne @JoinColumn(name="cid") public Course getCourse() { return course; }
相关推荐
- `@ManyToOne`, `@OneToMany`, `@OneToOne`, `@ManyToMany`: 定义不同类型的关联关系。 - `@JoinColumn`: 在关联关系中,指定外键列的信息。 **3. 注解的使用示例** 在实体类中,我们可以直接使用这些注解来定义...
Hibernate3.5是一个对象关系映射(ORM)工具,它允许开发者用面向对象的方式来处理数据库操作。在权限管理中,Hibernate可以用来存储用户的权限信息。通过注解如`@Entity`、`@Table`、`@Column`等,可以轻松地定义...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,而无需关心底层SQL语句的编写。本文将深入探讨Hibernate的四种主要查询方式:HQL(Hibernate Query...
hiberante3 注解帮助文档hiberante3 注解帮助文档hiberante3 注解帮助文档hiberante3 注解帮助文档hiberante3 注解帮助文档
4. 查询机制:Hibernate Query Language (HQL) 和 Criteria API 是两种主要的查询方式。`org.hibernate.query`包下的Query接口和Criteria接口提供了丰富的查询功能,源码分析有助于理解其底层实现。 二、Hibernate...
通过编写实体类和映射文件,开发者可以避免直接编写SQL语句,而是使用对象的方式操作数据。Hibernate提供了事务管理、缓存机制以及查询语言HQL,极大地提高了开发效率。 在描述中提到的"添加各种项目需要的配置",...
- `@ManyToOne`, `@OneToMany`, `@OneToOne`, `@ManyToMany`: 这些注解用于处理对象之间的关联关系。例如,一个用户可以有多个订单: ```java @Entity @Table(name = "users") public class User { // ... @...
最新springboot2基础hiberante5完整项目,打包jar,运行jsp,包括后台与前台,拦截器,登录,后台下载就可以使用,注意不是jpa,里面有完整Dao,千万级数据项目分离的代码,为了适合老项目开发特意集成hiberante5....
这个设计提高了代码的可复用性和可维护性,因为所有具体的DAO实现都可以继承自`HibernateDAO`,从而避免在每个DAO中重复写相似的事务管理和会话管理代码。 首先,`HibernateDAO` 类中定义了两个关键成员变量: 1. `...
DAO(数据访问对象)接口和实现类负责通过 SessionFactory 执行 CRUD(创建、读取、更新、删除)操作。 事务管理是整合 Spring 和 Hibernate 的关键部分。Spring 提供了声明式事务管理,可以在方法级别或类级别定义...
在本项目中,我们主要探讨的是一个基于"Maven+Spring+SpringMVC+Hibernate+EasyUI"技术栈实现的典型企业级应用系统,主要用于完成基本的CRUD(增删改查)操作。以下是对这些技术及其在项目中的作用的详细说明: 1. ...
9. **关联映射**: Hibernate支持一对一、一对多、多对一和多对多等各种关联映射,如`@OneToOne`、`@OneToMany`、`@ManyToOne`和`@ManyToMany`,使得对象之间的关系能自然地体现在数据库设计中。 10. **懒加载和...
这个JAR文件包含了所有必要的类和库,使得开发者可以直接在项目中引用,实现对数据库的便捷操作。 二、核心概念与组件 1. SessionFactory:它是整个Hibernate的核心,负责创建Session实例,配置信息(如数据库连接...
除了HQL,Hibernate还提供Criteria API进行动态查询,它是一种更面向对象的查询方式,可以在运行时构建查询。这对于构建复杂的、参数化的查询非常有用。 **八、事务管理** Hibernate支持自动和手动的事务管理。在...
Hibernate Tools是一套全新而且完整的面向Hibernate3的工具集合,它包含了Eclipse插件和Ant编译流程。Hibernate Tools是JBoss Tools的核心组件,所以他也是JBoss Developer Studio的一部分
在这个DEMO中,Spring2.5.6采用了Annotation注解的方式,使得代码更加简洁,无需XML配置文件,只需在类或方法上添加注解,就可以声明bean和其依赖。Spring还提供了事务管理、AOP(面向切面编程)等功能,增强了应用...
4. **级联操作**:通过`@OneToMany`、`@ManyToOne`和`@ManyToMany`注解,我们可以定义实体之间的关联,并使用`cascade`属性来控制关联的级联操作,如保存、删除等。 5. **缓存机制**:Hibernate支持一级缓存...
- `@OneToMany`, `@ManyToOne`, `@OneToOne`, `@ManyToMany`: 描述实体间的一对多、多对一、一对一和多对多关系。 - `@JoinColumn`: 在关联关系中定义外键列。 - `@Temporal`: 用于日期和时间类型的字段,指定其...
#### 七、总结 通过以上五个核心接口,Hibernate实现了与数据库的交互,同时也为开发者提供了灵活的编程模型。掌握这些接口的使用方法对于高效地开发基于Hibernate的应用程序至关重要。在未来的学习和实践中,深入...
在Java的持久化框架Hibernate中,一对一(OneToOne)关系是一种常见的对象关系映射(ORM)配置,用于表示两个实体类之间的一种唯一关联。在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来...