Hibernate中的3向ManyToMany关系

时间:2017-09-28 11:55:46

标签: spring hibernate jpa many-to-many relationship

我有3张桌子:经销商,品牌和服务。这些表使用表dealer_brand_service连接。

Image of table relationships

  • 经销商有很多品牌
  • 品牌有很多服务

经销商:

@Entity
@Table(name = "dealers")
@Data
public class Dealer extends BaseModel {

    @Column(name = "name")
    private String name;

    @ManyToMany
    @JoinTable(name = "brand_services_dealer", 
        joinColumns = @JoinColumn(name = "dealer_id"), 
        inverseJoinColumns = @JoinColumn(name = "brand_id"))
    private Set<VehicleBrand> brands;
}

VehicleBrand:

@Entity
@Table(name = "brands")
@Data
public class VehicleBrand extends BaseModel {

    @Column(name = "name")
    private String name;

    @ManyToMany    
    @JoinTable(name = "brand_services_dealer",
        joinColumns = @JoinColumn(name = "brand_id"),
        inverseJoinColumns = @JoinColumn(name = "service_id"))
    private Set<VehicleService> services;
}

VehicleService

@Entity
@Table(name = "services")
@Data
public class VehicleService extends BaseModel {

    @Column(name = "name")
    private String name;
}

我认为这不是关联的最佳方法,所以我想听听你的建议我应该如何将这些实体与更合适的方式联系起来。非常感谢你。

0 个答案:

没有答案