@Override public void saveProductCategoryRelation( Long shopId, Long productCategoryId, Long productLocalInfoId) { ProductWriter productWriter = productDaoManager.getWriter(); Object status = productWriter.begin(); try { ProductCategoryRelation productCategoryRelation = CollectionUtil.getFirst( productWriter.getProductCategoryRelations(shopId, productLocalInfoId)); if (productCategoryRelation == null) { productCategoryRelation = new ProductCategoryRelation(); productCategoryRelation.setShopId(shopId); productCategoryRelation.setProductLocalInfoId(productLocalInfoId); } productCategoryRelation.setProductCategoryId(productCategoryId); productWriter.saveOrUpdate(productCategoryRelation); productWriter.commit(status); } finally { productWriter.rollback(status); } }