我有两个实体产品和类别(多对一)关系。我想添加一个新产品,但总是失败。
控制台和邮递员中均出现错误:原因:{原因:{…},消息:'无法执行语句'}消息:'无法执行语句;SQL[不适用];约束[空];嵌套异常为org.hibernate.exception.ConstraintViolationException:
任何帮助请!!
产品ts
export class Product {
public id: number;
public description;
public name: string;
public unitPrice: number;
public materiaux: string;
public categoryId:number;}
**ProductCategory.ts**
export class ProductCategory {
public id:number;
public categoryName:string;
}
catalogue.service.ts:发布方法
public postData(value) {
return this.httpClient.post(this.host+"products",value);
}
新产品。组成部分ts
import { Component, OnInit } from '@angular/core';
import {CatalogueService} from "../services/catalogue.service";
import {Router} from "@angular/router";
import {Product} from "../model/product.model";
@Component({
selector: 'app-new-product',
templateUrl: './new-product.component.html',
styleUrls: ['./new-product.component.css']
})
export class NewProductComponent implements OnInit {
ProductCategories: any;
products:any;
size:number=5;
currentPage:number=0
totalPages:number=0
pages:Array<number>;
ProductCategory:any;
private currentProduct:any;
constructor(private service:CatalogueService, private router:Router) { }
ngOnInit() {
this.onGetProducts();
this.service.findAllCategory().subscribe(data =>{
this.ProductCategories=data ;
},error=>{
console.log(error);
})
}
saveProduct(value) {
this.service.findCategory(value.category).subscribe(data=>{
this.ProductCategory = data;
console.log(data);
});
value = {
"name": value.name,
"quantity":value.quantity,
"unitPrice":value.unitPrice,
"materiaux":value.materiaux,
"category": this.ProductCategory,
}
this.service.postData(value).subscribe(d =>{
this.currentProduct = d;
return this.router.navigateByUrl("/new-product");
});
}
}
新产品。html
<div class="card">
<div class="card-body">
<form #f="ngForm" (ngSubmit)="saveProduct(f.value)">
<div class="form-group">
<label for="name">Designation</label>
<input ngModel placeholder="Designation" type="text" name="name" id="name" class="form-control">
</div>
<div class="form-group">
<label for="unitPrice">Prix</label>
<input ngModel placeholder="Price" type="number" name="unitPrice" id="unitPrice" class="form-control">
</div>
<div class="form-group">
<label for="quantity">Quantite</label>
<input ngModel placeholder="Quantite" type="number" name="quantity" id="quantity" class="form-control">
</div>
<div class="form-group">
<label for="materiaux">Materiaux du produit </label>
<select class="form-control" ngModel name="materiaux" id="materiaux">
<option value="">----------</option>
<option value="Gold">Gold</option>
<option value="Diamond">Diamond</option>
<option value="Silver">Silver</option>
</select>
</div>
<div class="form-group">
<label for="category">Categorie du produit </label>
<select *ngIf="ProductCategories" class="form-control" ngModel name="category" id="category">
<option value="">----------</option>
<option *ngFor="let c of ProductCategories._embedded.productCategories" value="{{c.id}}">{{c.categoryName}}</option>
</select>
</div>
<button class="btn btn-sm btn-primary">Ajouter</button>
</form>
</div>
</div>
产品Java语言
@Entity
@Table(name="product")
@Data
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "category_id", nullable = false)
private ProductCategory category;
@Column(name = "sku")
private String sku;
@Column(name = "materiaux")
private String materiaux;
[and other Attributes.............]
ProductCategory产品类别
@Table(name="product_category")
// @Data -- known bug
@Getter
@Setter
public class ProductCategory {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "category_name")
private String categoryName;
@JsonManagedReference
@OneToMany(cascade = CascadeType.ALL, mappedBy = "category")
private Set<Product> products;
}
创建新产品时,您需要指定类别ID。
我需要在我的表中添加一个新产品。这http://localhost:8080/product/create/在Postman上工作。当我发布并添加新产品时,它会返回id并自动将其添加到我的表中。我的问题是如何在角CLI上实现它。我不知道我该怎么做。有人能帮我吗?这是我的代码: 产品Controller.java 应用程序。组成部分ts 产品服务ts app.component.html
我正在使用此代码添加自定义属性 这个代码的结果我得到了添加只是产品属性名称没有术语值... 我找了很多,但没有得到任何答案。
编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答这个问题。 这是我的日志 法典:
我试图做一些事情,比如:Woocommerce更新签出ajax!我正在为我的客户构建一个多步骤表单,其中客户正在使用ajax将产品添加到购物车中。当产品添加到购物车中时,我需要更新收银台。我尝试执行onclick功能,因此当用户在购物车中添加产品时,签出步骤将更新,而不刷新页面: 但它不起作用,我觉得我错过了一些明显的东西......任何提示?:)
Step7. 产品发布 概述 发布产品 特别说明 Step7. 产品发布 更新时间:2018-02-05 22:37:19 概述 发布产品意味着这款产品完成了开发,已经准备好可以进入到量产和规模化部署的阶段。因此,请确保产品的相关功能已经创建完成,产品发布后,您将无法再: 编辑产品的信息; 删除产品; 编辑产品的功能定义; 编辑产品的扩展信息; 对于透传类产品,无法再次编辑或提交脚本; 重新生成M
我发现所有产品的数量不等于< code>home类别中的产品数量。这是因为在添加产品时,并不总是选择最大的父类别。因此,有些产品属于< code>home,而有些则不属于。 虽然我需要为类别<code>主页<code>页面显示正确数量的产品,但我在数据库中查找了包含类别的列,但在<code>ps_product</code>或<code>ps_product_lang</code>中未找到它们。