JPA双向一对一关联关系@OneToOne

Department.class

package com.jpa.helloworld;

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

@Table(name="DEPARTMET")
@Entity
public class Department {

	private Integer depId;

	private String depName;

	private Manager mar;

	@GeneratedValue
	@Column(name="DEP_ID")
	@Id
	public Integer getDepId() {
		return depId;
	}

	public void setDepId(Integer depId) {
		this.depId = depId;
	}

	@Column(name="DEP_NAME")
	public String getDepName() {
		return depName;
	}

	public void setDepName(String depName) {
		this.depName = depName;
	}

	//这是维护关联关系的一方
	//在这一边加入外键列,列名为MAR_ID,并且将该列设置为唯一约束
	@JoinColumn(name="MAR_ID",unique=true)
	@OneToOne
	public Manager getMar() {
		return mar;
	}

	public void setMar(Manager mar) {
		this.mar = mar;
	}

}

Manager.class

package com.jpa.helloworld;

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

@Table(name="MANAGER")
@Entity
public class Manager {

	private Integer marId;

	private String marName;

	private Department dept;

	@GeneratedValue
	@Id
	@Column(name="MAR_ID")
	public Integer getMarId() {
		return marId;
	}

	public void setMarId(Integer marId) {
		this.marId = marId;
	}

	@Column(name="MAR_NAME")
	public String getMarName() {
		return marName;
	}

	public void setMarName(String marName) {
		this.marName = marName;
	}

	//这是不维护关联关系的一方
	//添加mappedBy属性,则该方不维护关联关系
	//mappedBy的属性为维护关联关系一方的属性名
	@OneToOne(mappedBy="mar")
	public Department getDept() {
		return dept;
	}
	public void setDept(Department dept) {
		this.dept = dept;
	}

}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值