Может ли произойти проблема производительности для многих людей? - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть такой код

   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<>();
}

1 Ответ

0 голосов
/ 30 сентября 2018

Вот ответ на мой вопрос:

post

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...