Hieveryone, у меня есть 2 класса сущностей, называемых Категория и продукт, которые являются отношением oneToMany.
Когда я добавляю новый продукт с данной категорией в базу данных, сторона категории не обновляется новым продуктом.Таким образом, 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
не могу найти правильную комбинацию:)