Hieveryone,我有2个实体类,称为类别和产品,这是一对多的关系。JPA更新实体关系
当我向数据库中添加一个给定类别的新产品时,类别面不会更新新产品。因此categoryList仍然保留旧产品。
我使用JSF2.0与JPA 2
产品实体:
public class Product implements Serializable {
@ManyToOne
private Category category;
//getters::setters
分类实体:
public class Category implements Serializable {
@OneToMany(mappedBy = "category")
private List<Product> productList;
ProductController的类:
public ProductController {
@EJB
private ProductService productService;
private Category category;
private Product product;
//getters::setters
//actionMethod called by JSFpage.
public String addProduct(){
product.setCategory(category);
productService.add(product);
return "productPage.xhtml";
}}
这样我什么也看不见更新类别方面。 所以我找到了解决这个问题的方法。我改变了ProductController的代码如下图所示...
public ProductController {
@EJB
private ProductService productService;
@EJB
private CategoryService categoryService;
private Category category;
private Product product;
//getters::setters
//actionMethod called by JSFpage.
public String addProduct(){
product.setCategory(category);
productService.add(product);
// update category with new product
category.getProductList().add(product);
categoryService.update(category);
return "productPage.xhtml";
}}
这样类别的更新,但我不t want CategoryService in my ProductController. How to implement this? i have tried with Cascade.ALL/REFRESH... but i think i couldn
吨找到正确的组合:)