Hibernate三种映射关系(2)

one-to-one

假设有2张表student和teacher表,一个学生有一个老师,一个老师也只有一个学生。

类代码:

Teacher.java

package com.entity;
/**
* @hibernate.class table="teacher"
* @author Administrator
*
*/
public class Teacher {
   private int id;
   private String tname;
   private Student student;
   /**
   * @hibernate.id generator-class="native"
   * @return
   */

   public int getId() {
    return id;
   }
   public void setId(int id) {
    this.id = id;
   }
   /**
   * @hibernate.one-to-one class="com.entity.Student" cascade="all"
   * @return
   */

   public Student getStudent() {
    return student;
   }
   public void setStudent(Student student) {
    this.student = student;
   }
   /**
   * @hibernate.property column="tname"
   * @return
   */

   public String getTname() {
    return tname;
   }
   public void setTname(String tname) {
    this.tname = tname;
   }
}

时间: 2024-07-31 18:58:17

Hibernate三种映射关系(2)的相关文章

Hibernate三种映射关系

many-to-many 一个学生有多个老师,一个老师也有多个学生.现在就在student和teacher这两张表的基 础上增加了一张关系表t_s,t_s为自动生成的表. 类代码: Student.java package com.entity; import java.util.Set; /** * @hibernate.class table="student" * @author Administrator * */ public class Student { private

Hibernate之jpa实体映射的三种继承关系

在JPA中,实体继承关系的映射策略共有三种:单表继承策略(table per class).Joined策略(table per subclass)和Table_PER_Class策略.   1.单表继承策略         单表继承策略,父类实体和子类实体共用一张数据库表,在表中通过一列辨别字段来区别不同类别的实体.具体做法如下: a.在父类实体的@Entity注解下添加如下的注解: @Inheritance(Strategy=InheritanceType.SINGLE_TABLE)@Dis

hibernate 三种查询方式

(一)HQL HQL:Hibernate Qusery Language,如果你已经熟悉它,就会发现它跟SQL非常相像.不过 你不要被表面的假象迷惑,HQL是面向对象的(OO,用生命的眼光看待每一个对象,他们是如此 鲜活).如果你对JAVA和SQL语句有一定了解的话,那么HQL对你简直易如反掌,你完全可以利用在公车上的时间掌握它.以下从几个方面进行慢慢深入:1.大小些敏感大家知道SQL-92 Query是对大小写不敏感的,但是在HQL(前面提到它是OO的)中对对象类的名称和属性确实大小写敏感的(

EntityFramework Core映射关系详解

前言 Hello,开始回归开始每周更新一到两篇博客,本节我们回归下EF Core基础,来讲述EF Core中到底是如何映射的,废话少说,我们开始. One-Many Relationship(一对多关系) 首先我们从最简单的一对多关系说起,我们给出需要映射的两个类,一个是Blog,另外一个则是Post,如下: public class Blog { public int Id { get; set; } public int Count { get; set; } public string N

通过Hibernate实现JPA对象关系模型之继承映射策略

Single-table 策略:这是继承映射中的缺省策略,在不特别指明的情况下,系统默认就是采用这种映射策略进行映射的.这个策略的映射原则就是父类包括子类中新添加的属性全部映射到一张数据库表中,数据库表中有一个自动生成的字段用来存储区分不同的子类的信息. Joined-subclass 策略:这种映射策略中,继承关系中的每一个实体类,无论是具体类 (concrete entity) 或者抽象类 (abstract entity),数据库中都有一个单独的表与他对应.子实体对应的表中不含有从根实体继

Hibernate及JPA对象关系映射:关联关系映射策略

关联关系映射 关联关系映射,是映射关系中比较复杂的一种映射关系,总的说来有一对一.一对多和多对多几种 关系.细分起来他们又有单向和双向之分.下面我们逐一介绍一下. 单向 OneToOne 单向一对一是关联关系 映射中最简单的一种,简单地说就是可以从关联的一方去查询另一方,却不能反向查询.我们用下面的例子来举例说明,清 单 1 中的 Person 实体类和清单 2 中的 Address 类就是这种单向的一对一关系,我们可以查询一个 Person 的对应的 Address 的内容,但是我们却不能由一

浅析Hibernate继承关系树的三种映射方式

在向大家详细介绍Hibernate继承关系树的三种映射方式之前,首先让大家了解下Employee类为抽象类,然后全面介绍. 在域模型中,类与类之间除了关联关系和聚集关系,还可以存在继承关系,Company类和Employee类之间为一对多的双向关联关系(假定不允许雇员同时在多个公司兼职),Employee类为抽象类,因此它不能被实例化,它有两个具体的子类:HourlyEmployee类和 SalariedEmployee类.由于Java只允许一个类最多有一个直接的父类,因此Employee类.H

hibernate映射对象三种状态的分析

一,首先hibernate中对象的状态有 三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate(). get().load():持久态到瞬态的方法有delete():游离态到持久态的方法有update().saveOrUpdate(). lock():持久态到游离态的方法有:session.close().session.evict().session.clear(). 二,Hibernate的状态 hiberna

Hibernate及JPA 对象关系映射的简单映射策略

简单映射 近年来 ORM(Object-Relational Mapping,对象关系映射,即实体对象和数据库表的映射)技术市场 热闹非凡,各种各样的持久化框架应运而生,其中影响最大的是 Hibernate 和 Toplink.Sun 公司在充分吸收现有的优秀 ORM 尤其是 Hibernate 框架设计思想的基础上,制定了新的 JPA(Java Persistence API)规范,对现在乱象丛生的持久 化市场带来一个标准,大有统一持久化市场的气势.JPA 是通过 JDK5.0 注解或 XML