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.