2 回答
TA贡献1898条经验 获得超8个赞
要表示Product特定中的 a,Aisle您需要另一个实体。这是一个例子:
@Entity
public class Product{
@Id
private Long id;
private String name;
@OneToMany(mappedBy = "product")
private Set<ProductAisle> productAisle = new HashSet<>;
/* getters, setters, equals and hashcode */
}
@Entity
public class Aisle{
@Id
private Long id;
private String row;
private String shelf;
@OneToMany(mappedBy = "aisle")
private Set<ProductAisle> productAisle = new HashSet<>();
/* getters, setters, equals and hashcode */
}
@Entity
public class ProductAisle{
@Id
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
private Product product;
@ManyToOne(fetch = FetchType.LAZY)
private Aisle aisle;
/* getters, setters, equals and hashcode */
}
然后您Salesman将指向一组ProductAisle实例,这些实例将产品与通道映射:
@Entity
public class Salesman{
@Id
private Long id;
private String name;
@ManyToOne(fetch = FetchType.LAZY)
private Set<ProductAisle> productAisle;
}
TA贡献1895条经验 获得超7个赞
由于两者Aisle
和 相互之间Product
具有双向映射,因此您可以将它们中的任何一个(甚至它们两个)加入到Salesman
类中,而您根本不需要加入服务表。
添加回答
举报