美文网首页
Jpa中表自关联

Jpa中表自关联

作者: 汪汪小喵 | 来源:发表于2017-06-26 19:48 被阅读0次

    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<>();
    
    }
    

    相关文章

      网友评论

          本文标题:Jpa中表自关联

          本文链接:https://www.haomeiwen.com/subject/lvijcxtx.html