码迷,mamicode.com
首页 > Web开发 > 详细

JPA#OneToOne

时间:2019-07-25 00:20:40      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:cti   rri   tostring   json   这一   实体   style   class   strategy   

无力吐槽。


 

一对一,一个人有一个身份证号码、一个人有一条命,类似于这一种的就是一对一的关系。


涉及到的注解两个:

OneToOne

JoinColumn(

                     name="当前实体对应数据库表中的字段名称,这个字段是一对一关系中对方的主键,这个字段是本表中的外键",

                     referencedColumnName="这是个数据库表的字段名称,字段为当前表的外键所对应的另外一张表的主键"


 

举一个例子:一个学生有一个桌子

@Entity
@Table(name="t_student")
public class Student {
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id")
	private Integer id;
	
	@Column(name="name")
	private String name;
	
	/**
	 * JoinColumn的name值为:当前实体对应表的外键
	 * JoinColumn的JoinColumn的值为:当前实体对应表的外键所引用的表的主键
	 */
	@OneToOne
	@JoinColumn(name="desk_id",referencedColumnName="id")
	private Desk desk;

	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
	}
	
}

  

@Entity
@Table(name="t_desk")
public class Desk {
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id")
	private Integer id;
	
	@Column(name="name")
	private String name;

	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
	}
}

  

数据库表:

技术图片

 

_

 

映射,无论是一对一或者是其他的映射形式,都在另外一个维度分为单向的映射,以及双向映射。其中双向映射时候,JSON序列化会产生死循环。

 

JPA#OneToOne

标签:cti   rri   tostring   json   这一   实体   style   class   strategy   

原文地址:https://www.cnblogs.com/luohaonan/p/11241599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!