Jpa @OneToOne

@OneToOne :一对一
现在有两个类:PrepAgentInfo(准客户信息类); PrepAgentImage(准客户映像类)
PrepAgentImage中包含PrepAgentInfo 一对一关系

PrepAgentImage.class

public class PrepAgentImage{

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;
	/**
	 *  准增员信息对象
	 * */
	@OneToOne(fetch= FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
	@JoinColumn(name="prep_agent_info_id")
	private PrepAgentInfo prepAgentInfo;

}

PrepAgentInfo.class

@Entity
@Table(name = "wechat_prepAgent_info")
public class PrepAgentInfo implements Serializable {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 更新时间
	 */
	private Date updateTime;

}

代码解释:

@OneToOne(fetch= FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})

1.fetch属性是该实体的加载方式,有两种:LAZY(懒加载在调用属性的时候才赋值)和EAGER(饿汉式上来就加载)。默认为LAZY
2.cascade属性表示与此实体一对一关联的实体的联级样式类型。联级样式上当对实体进行操作时的策略。
说明:在定义关系时经常会涉及是否定义Cascade(级联处理)属性,担心造成负面影响.
·不定义,则对关系表不会产生任何影响
·CascadeType.PERSIST (级联新建)
·CascadeType.REMOVE (级联删除)
·CascadeType.REFRESH (级联刷新)
·CascadeType.MERGE (级联更新)中选择一个或多个。
·还有一个选择是使用CascadeType.ALL ,表示选择全部四项
3.@JoinColumn(name="prep_agent_info_id") private PrepAgentInfo prepAgentInfo;
解释:在PrepAgentImage中的prep_agent_info_id字段与PrepAgentInfo表中的主键形成关联,
别问为什么,默认级是关联的实体所对应表的主键.如下图:以上两个类我只展示了部分属性。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值