請求服務熱線時出現此錯誤:
List<Order> orders = ordersRepository.getByCustomerId(id);
錯誤:org.springframework.dao.InvalidDataAccessApiUsageException:引數值 [5] 與預期型別不匹配 [nz.webshop.models.Customer.Customers (n/a)];嵌套例外是 java.lang.IllegalArgumentException:引數值 [5] 與預期型別不匹配 [nz.webshop.models.Customer.Customers (n/a)]
存盤庫:
public interface OrdersRepository extends JpaRepository<Order, Integer> {
List <Order> getByCustomerId(Integer customerId);
}
物體:
@EntityA:
@Table(name = "orders")
public class Order {
@ManyToOne(targetEntity=Customers.class)
@JoinColumn (name = "customer_id", referencedColumnName="customer_id")
private Integer customerId;
...getters/setters
@EntityB:
@Table (name ="customer")
public class Customers {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "customer_id")
private Integer customerId;
@OneToMany(targetEntity = Order.class, mappedBy = "customerId")
private List<Order> Order;
...getters/setters
表是這樣的:
CREATE TABLE orders
(
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customer (customer_id)
);
CREATE TABLE customer
(
customer_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) ,
last_name VARCHAR(50)
);
更新:我將 EntityA 更改如下:
@EntityA:
@Table(name = "orders")
public class Order {
@Column(name = "customer_id")
private Integer customerId;
@ManyToOne(targetEntity=Customers.class)
private Customer customer;
...getters/setters
但隨后在請求同一服務行時出現新錯誤:org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [不適用];嵌套例外是 org.hibernate.exception.SQLGrammarException:無法提取 ResultSet。引起:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:“欄位串列”中的未知列“order0_.customer_customer_id”。
問題可能出在哪里?
uj5u.com熱心網友回復:
看起來 Order.customerId 屬性設定不正確。您要求 ManyToOne 根據其 ID 查找 Customer 模型,但隨后您將模型加載為整數。試試這個:
@ManyToOne
@JoinColumn(name = "customer_id", referencedColumnName="customer_id")
private Customer customer;
讓我知道這是否有效,如果無效,我們可以進行更多故障排除。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/406470.html
標籤:
上一篇:Hibernate不會自動增加物體{Country}的id(使用h2資料庫)
下一篇:休眠物體映射
