Điều chính mà bạn sẽ muốn chú ý là xác định phe sở hữu của mối quan hệ một cách chính xác. Theo như tôi nhớ, rút ra của tôi từ tài liệu chính thức (đôi khi khó hiểu) là phía sở hữu khá nhiều là phía theo mặc định sẽ kích hoạt các tầng và xóa minh bạch.
Ví dụ:trong phần trên, bạn đã xác định phía sở hữu là ProjectEntity
, vì vậy bước quan trọng nhất để tính bền vững theo tầng hoạt động là thêm dự án vào PersonEntity.projects
.
Sau đó, bạn sẽ muốn gọi persist
về phía sở hữu của mối quan hệ, tức là
em.persist(projectTest);
Nếu điều này không hữu ích, tôi khuyên bạn nên bật tính năng đăng nhập SQL trong trình cung cấp JPA của bạn để tìm hiểu nó đang cố gắng thực thi những câu lệnh nào và đặc biệt là theo thứ tự các thực thể này đang được insert
ed.
Cũng nên thử, theo các nhận xét hiện có, để duy trì người trước. Nếu bạn làm điều này, tôi tin rằng cách chính xác là thêm đã tiếp tục thực thể cho mối quan hệ, tức là:
PersonEntity persistedPerson = em.persist(personTest);
projectTest.setPersonId(persistedPerson);
em.persist(projectTest);