У меня есть такой код
public Serializable save(Product product) {
product.getCategories().forEach(category -> category.getProducts().add(product));
return super.save(product);
}
В категории будет много продуктов, будет ли Hibernate загружать их все?
Если да, как решить эту проблему на уровне дао или сущности?
@Table//...
public class Product {//...
@Cascade(value = SAVE_UPDATE)
@ManyToMany(mappedBy = "products", fetch = FetchType.LAZY, targetEntity = Category.class)
private Set<Category> categories = new HashSet<>();
}
@Table//...
public class Category {//...
@Cascade(value = SAVE_UPDATE)
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "productToCategory",
joinColumns = {@JoinColumn(name = "categoryId")},
inverseJoinColumns = {@JoinColumn(name = "productId")})
private Set<Product> products = new HashSet<>();
}