我有三张桌子。使用 @ManyToMany 关系映射 tbl_vendor 和 tbl_category 表格。当我找到供应商'根据特定的类别'我也得到了'地区'因为 tbl_vendor 和 tbl_area 也使用 @ManyToMany 进行映射。
关系:
在tbl_vendor模型中:
@ManyToMany(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
@JoinTable(name = "tbl_category_vendor", joinColumns = {@JoinColumn(name = "vendor_id")}, inverseJoinColumns = {@JoinColumn(name = "category_id")})
private Set<Category> categories = new HashSet<>();
....
@ManyToMany(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
@JoinTable(name = "tbl_area_vendor", joinColumns = {@JoinColumn(name = "vendor_id")}, inverseJoinColumns = {@JoinColumn(name = "area_id")})
private Set<Area> areas = new HashSet<>();
在tbl_category模型中:
@JsonIgnore
@ManyToMany(cascade = CascadeType.DETACH, mappedBy = "categories", fetch = FetchType.LAZY)
private List<Vendor> vendors = new ArrayList<>();
在tbl_area模型中:
@JsonIgnore
@ManyToMany(mappedBy = "areas", fetch = FetchType.LAZY)
private List<Vendor> vendors = new ArrayList<>();
我有一个特殊情况,我不需要这个&#39; Area&#39;与供应商&#39;。 有没有办法忽略已经映射过的&#39; Area&#39;来自&#39;供应商&#39;在某些特定情况下使用 JpaRepository ?