注解配置一对一

转载 2016年08月30日 07:49:14
Hibernate一对一外键双向关联(Annotation配置)
如上图所示:一个学生有一个学生证号,一个学生证号对应一名学生。在Hibernate中怎么用Annotation来实现呢?
学生类,主键是id;学生证的主键也是Id;
Student.java
package edu.xaut.hibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

@Entity
public class Student {
 
   private intid;
    privateString name;
    privateString gender;
    private intage;
    privateStuIdCard stuIdCard;

    @Id
   @GeneratedValue
    public intgetId() {
       returnid;
    }

    @Column(name= "name", length = 20)
    publicString getName() {
       returnname;
   }   

    @Column(name= "gender", length = 6)
    publicString getGender() {
       returngender;
    }

    public intgetAge() {
       returnage;
    }

   @OneToOne
   @JoinColumn(name = "StuIdCard")
    publicStuIdCard getStuIdCard() {
       returnstuIdCard;
    }

    public voidsetId(int id) {
       this.id =id;
    }

    public voidsetName(String name) {
       this.name =name;
    }
   
    public voidsetGender(String gender) {
       this.gender= gender;
    }
   
    public voidsetAge(int age) {
       this.age =age;
    }

    public voidsetStuIdCard(StuIdCard stuIdCard) {
      this.stuIdCard = stuIdCard;
    }
}

package edu.xaut.hibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;

@Entity
public class StuIdCard {
    private intid;
    privateString num;
    privateStudent student;

    @Id
   @GeneratedValue
    public intgetId() {
       returnid;
    }

    public voidsetId(int id) {
       this.id =id;
    }

   @Column(length = 20)
    publicString getNum() {
       returnnum;
    }

    public voidsetNum(String num) {
       this.num =num;
    }

   @OneToOne(mappedBy="stuIdCard")
    publicStudent getStudent() {
       returnstudent;
    }

    public voidsetStudent(Student student) {
       this.student= student;
  

Hibernate一对一关联映射(注解)

hibernate一对一关联映射有两种方式,一种是基于外键方式(常用),一种是基于主键方式 一、首先我们来看基于外键一对一关联映射:   1.数据表关联映射图 ...
  • hardworking0323
  • hardworking0323
  • 2016年04月10日 18:13
  • 7012

hibernate关联关系注解(一对多、多对一、一对一)

一对多、多对一、一对一的注解实现 casecade={CasecadeType.REFRESH}的含义是只是查询级联,它还有其他3个类型: CascadeType.MERGE级联更新 CascadeT...
  • qq_33556185
  • qq_33556185
  • 2016年06月13日 15:57
  • 6180

hibernate中一对一映射配置详细解析(一)

本例模仿用户与身份证相对应的关系,即一个用户对应一个身份证信息,且身份证信息不能重复,下面代码是实现基于外键的一对一映射 1.hibernate.cfg.xml ...
  • miachen520
  • miachen520
  • 2016年08月11日 16:41
  • 4394

Hibernate4注解详解之一对一对象映射

这里我通过不断测试,给hibernate4的注解功能到mysql数据库的映射,做了一个比较全的介绍。...
  • beadle233
  • beadle233
  • 2015年04月01日 09:38
  • 2500

注解配置一对一

注解配置一对一
  • u012726702
  • u012726702
  • 2016年08月30日 07:49
  • 478

hibernate一对一主键关联(注解版)

  • 2017年05月03日 12:15
  • 16KB
  • 下载

Hibernate注解实现一对一关联

本文使用Hibernate Annotation实现一对一关联。
  • u012383839
  • u012383839
  • 2014年12月05日 14:48
  • 1516

hibernate5(13)注解映射[5]一对一共享主键关联

一对一共享主键下面我们直接通过实例来讲解共享主键配置: 主键主控方:Articlepackage com.zeng2.model;@Table(name = "t_article2") @Entit...
  • qwe6112071
  • qwe6112071
  • 2016年04月10日 09:09
  • 4563

Hibernate双向一对一关联映射(注解版)

  • 2017年05月05日 23:17
  • 15KB
  • 下载

Hibernate关于注解的一对多,多对多,一对一

  • 2017年10月14日 22:35
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:注解配置一对一
举报原因:
原因补充:

(最多只允许输入30个字)