Jpa中表自关联

Jpa中一个实体类对应一张表,但实际应用中表与表之前是有关联的,有时也会关联到自身。

以企业信息表为例,她可能关联到自身(比如说有父公司,或是子公司),在比如说肯定有很多部门,那么我们定义实体类的时候可以这样:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.util.HashSet;
import java.util.Set;

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class Enterprise {

    @Id
    @GeneratedValue
    private Long id;

    //企业名称
    private String name;

    //子公司
    @OneToMany(mappedBy = "parentEnterprise")
    private Set<Enterprise> childrenEnterprises = new HashSet<>();

    //父公司
    @ManyToOne
    @JoinColumn(name = "parent_id")
    private Enterprise parentEnterprise;

    //部门
    @OneToMany(targetEntity = Dept.class)
    private Set<Dept> depts = new HashSet<>();

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2017年8月21日 我原本只想简单记录一下springboot中应用Jpa的简单操作。不想由于hibernate...
    行者N阅读 11,564评论 0 23
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,020评论 6 342
  • 上完了今天的最后一节课,打开手机看到闺蜜的留言,约晚上小聚。好呀,五一小长假来了,这段时间的劳累辛苦应该放一放了,...
    瑜紫阅读 1,352评论 2 2
  • 如果可以 我想到处去走走 看看外面的风景如何 给自己的心情也适当放个假 远离心中的困扰 远离近日的忧愁 让这一切都...
    冰梅醉傲雪阅读 1,612评论 0 1