0

有两个表,其中一个是客户,另一个是产品,如您所知,客户与产品具有 OneToMany 关系,如下所示

在客户实体中,

private Set<Product> products;

如您所见,我使用Set实现 OneToMany 关系,但是当我想在将来只添加一个实体作为产品时,我必须获取所有这些产品并执行类似的操作,

Set<Product> products = customer.getProduct();
products.add(new Product(id, name, price));
dao.update(customer);

我认为从数据库中获取所有产品只是为了添加一个新实体,这真的很繁重,在休眠中有没有其他方法可以做到这一点?

4

2 回答 2

1

如果您使用双向映射以使 Product 具有 Customer 属性,则可以单独保存 Product

private Customer Customer;

dao.Save(new Product(Customer, id, name, price));

这显然打破了你的聚合根......

于 2013-01-26T18:54:40.957 回答
0

请改用列表或袋子。从休眠文档

我们可以将元素添加到包或列表中,而无需初始化(获取)包元素。

于 2013-01-26T19:16:05.557 回答