Hibernate 指定与多个表的一对多关系
我有一张三人桌 1) .类别(id,CategoryName) 2) .项目(id、imageUrl、名称、价格、单位) 3) .Shoppingcart(id,创建日期) 用例是 1) 一个类别可以有多个项目 2) 一个购物车可以有多个项目 所以我的问题是 1) 项目在类别和ShoppingCart之间共享,如何在hibernate中指定实体关系 2) 如果我必须针对商品指定购物车的数量 i、 e购物车中的物品数量。Hibernate 指定与多个表的一对多关系,hibernate,jpa,spring-data-jpa,Hibernate,Jpa,Spring Data Jpa,我有一张三人桌 1) .类别(id,CategoryName) 2) .项目(id、imageUrl、名称、价格、单位) 3) .Shoppingcart(id,创建日期) 用例是 1) 一个类别可以有多个项目 2) 一个购物车可以有多个项目 所以我的问题是 1) 项目在类别和ShoppingCart之间共享,如何在hibernate中指定实体关系 2) 如果我必须针对商品指定购物车的数量 i、 e购物车中的物品数量。 如何在它们之间创建实体关系。这是关系的样子: public class It
如何在它们之间创建实体关系。这是关系的样子:
public class Item {
private int id;
// all other fields
@ManyToOne
@JoinColumn
private Category category;
@ManyToOne
@JoinColumn
private ShoppingCart shoppingCart;
/*.........
Setter Getters
*/
}
public class Category {
private int id;
// all other fields
@OneToMany(mappedBy = "bookCategory", cascade = CascadeType.REMOVE)
private Set<Item> items;
/*.........
Setter Getters
*/
}
public class ShoppingCart {
private int id;
// all other fields
@OneToMany(mappedBy = "shoppingCart", cascade = CascadeType.REMOVE)
private Set<Item> items;
/*.........
Setter Getters
*/
}
公共类项目{
私有int-id;
//所有其他领域
@许多酮
@连接柱
私人类别;
@许多酮
@连接柱
私人购物车;
/*.........
塞特吸气剂
*/
}
公共类类别{
私有int-id;
//所有其他领域
@OneToMany(mappedBy=“bookCategory”,cascade=CascadeType.REMOVE)
私人设置项目;
/*.........
塞特吸气剂
*/
}
公共类购物车{
私有int-id;
//所有其他领域
@OneToMany(mappedBy=“shoppingCart”,cascade=CascadeType.REMOVE)
私人设置项目;
/*.........
塞特吸气剂
*/
}
根据我对问题的理解,您希望创建两个映射,第一个映射是items-->category,另一个映射是items-->cart。如果我错了,请纠正我。但是,为什么您需要类别和购物车之间的关系?要进一步添加,您不能让购物车直接与类别相关,但它们是间接相关的,因为商品属于特定类别。@Archit Sud根据我对问题的理解,您希望先在商品之间创建两个映射---->category和另一个是items-->cart。如果我错了,请纠正我。但是为什么你需要类别和购物车之间的关系呢?=是的,但是我不需要类别和购物车之间的关系cart@ArchitSud使用您的解决方案,它将创建类别和购物车之间的关系?您可以在映射注释中添加fetch type参数,默认情况下,fetch类型为eager,它告诉JPA在选择根实体时获取关系的所有元素。这将在类别和shoppingcart之间创建关系。将在何处创建与项目对应的数量字段?