Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SpringDataJPA lưu mối quan hệ OneToOne Nhận được Không thể thêm hoặc cập nhật hàng con:ràng buộc khóa ngoại không thành công

Vấn đề có thể là do chiến lược tạo id của bạn (miễn là bạn đã khởi tạo địa chỉ liên hệ đúng cách). Đối tượng người dùng phải được chèn vào DB để đặt id của nó, nhưng đồng thời Liên hệ cần id này là đối tượng hợp lệ. xảy ra trong cùng một giao dịch.

Nếu bạn chuyển cấp độ ghi nhật ký thành tốt cho JPA của mình (trong perstitance.xml), bạn rất có thể sẽ thấy trình tự chèn người dùng và liên hệ nhưng liên hệ sẽ có user_id 0.

Vì vậy, a) đảm bảo rằng bạn đã thiết lập rõ ràng người dùng trong liên hệ của mình (như bạn đã nói mối quan hệ được quản lý bởi Liên hệ. B) Đặt liên hệ trên người dùng. c) vẫn tồn tại (trong một giao dịch). Tùy thuộc vào việc triển khai JPA của bạn, nó có thể vẫn không hoạt động (kiểm tra các truy vấn được đưa ra, rất có thể sẽ có chèn vào liên hệ và sau đó cập nhật). Thay đổi chiến lược tạo thành TABLE, với TABLE JPA lấy ID miễn phí tiếp theo, gán nó cho đối tượng và thực hiện chèn để nó được "biết đến" trước khi chèn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cân bằng tải cơ sở dữ liệu trong đám mây - MySQL Master Failover với ProxySQL 2.0:Part One (Deployment)

  2. MySQL giống như một lĩnh vực khác

  3. Cách hoạt động của hàm RTRIM () trong MySQL

  4. kết quả truy vấn mysql vào mảng php

  5. Cập nhật một cột với COUNT trường khác là SQL?