我正在发送
POST {“number”:“111A111”,“customer”:“Customer Cuustomer Rrrr”, “电话”:“1 800 5551212”,“经理”:“经理经理”, “date”:“2012-09-17”,“curId”:{“id”:“1”},“payment”:[{“id”:“1”}, {“name”:“pomyit stekla”},{“price”:“1000.0”}}}
我得到500错误:
“内部服务器 错误 “ ”异常“: ”org.springframework.dao.InvalidDataAccessResourceUsageException“, ”消息“:” org.springframework.web.util.NestedServletException: 请求处理失败;嵌套异常是 org.springframework.dao.InvalidDataAccessResourceUsageException:可以 不准备陈述; SQL [插入bill_payments(bill_id, payments_id)值(?,?)];
堆栈跟踪:
引起:org.h2.jdbc.JdbcSQLException:列“PAYMENTS_ID”没有 发现; SQL语句:插入bill_payments(bill_id,payments_id) 值(?,?)[42122-193]
Bill类中的多对多关系:
@ManyToMany(targetEntity = ru.test.practice.model.Payment.class)
public List<PaymentView> payments = new ArrayList<>();
public List<PaymentView> getPayments() {
return payments;
}
public void setPayments(List<PaymentView> payments) {
this.payments = payments;
}
付款类中的多对多关系:
@ManyToMany(targetEntity = ru.test.practice.model.Bill.class, mappedBy = "curId")
private List<Bill> bills = new ArrayList<>();
public List<Bill> getBills() {
return bills;
}
public void setBills(List<Bill> bills) {
this.bills = bills;
}
我在BillView类中也有这个字段
public List<PaymentView> payments = new ArrayList<>();
SQL架构:
CREATE TABLE IF NOT EXISTS BILL_PAYMENTS (
bill_id INTEGER NOT NULL,
payment_id INTEGER NOT NULL
);
ALTER TABLE BILL_PAYMENTS
ADD FOREIGN KEY (bill_id) REFERENCES BILL (id);
ALTER TABLE BILL_PAYMENTS
ADD FOREIGN KEY (payment_id) REFERENCES PAYMENTS (id);