java - manyTomany 会出现性能问题吗?
问题描述
我有这样的代码
public Serializable save(Product product) {
product.getCategories().forEach(category -> category.getProducts().add(product));
return super.save(product);
}
Category 会有很多产品,hibernate 会全部加载吗?
如果是,如何在 dao 或实体级别解决此问题?
@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<>();
}
解决方案
这是我的问题的答案:
推荐阅读
- c# - IApplicationBuilder 不包含 UseIdentity 的定义
- python - 如何在 keras 中使用 1D conv 神经网络解决音频信号问题
- bash - Asuswrt/Ubuntu 18.04 通过终端获取所有网络接口的网关
- laravel - 预期响应代码 250,但得到代码“530”
- django - 尝试在将 django 模型保存到数据库之前对其进行验证。使用 POST api 在特定模型中创建模型对象
- android - Dagger 2 未注入,lateinit 属性未初始化
- c# - 转换`IObservable
` 到 `IEnumerable >`? - google-sheets - 当我将多行文本粘贴到 Google 电子表格时,为什么这些行有时会放置一个单元格?
- .htaccess - .htaccess - 使用 PHP GET 变量重写和重定向博客 URL
- tensorflow - 无法将 NumPy 数组转换为张量