Postgresql Spring数据Jpa OneToMany存储双向
我在保存子实体时遇到问题 这是我的例子。我的模型类如下所示:Postgresql Spring数据Jpa OneToMany存储双向,postgresql,spring-boot,spring-data-jpa,Postgresql,Spring Boot,Spring Data Jpa,我在保存子实体时遇到问题 这是我的例子。我的模型类如下所示: @Entity public class ImportDocument { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String title; private boolean imported; @Transient private Status
@Entity
public class ImportDocument {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String title;
private boolean imported;
@Transient
private Status status;
@Basic
private char statusValue;
@OneToMany(mappedBy = "importDocument" , cascade = {CascadeType.ALL})
private List<ImportDocumentItem> importDocumentItems;
}
@Entity
public class ImportDocumentItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "import_document_id")
@JsonIgnore
private ImportDocument importDocument;
}
当我保存ImportDocument
对象时,所有内容都被插入。但问题是,import\u document\u item.import\u document\u id
(它是import\u document\u id的外键)属性用空值填充,而不是我期望的import\u document的id。如何解决此问题
非常感谢。在保存之前,您必须在两侧设置实体关系。这里有一个例子
ImportDocument importDocument = new ImportDocument();
//...
importDocument.setImportDocumentItems(items);
items.forEach(ImportDocumentItem::setImportDocument);
importDocumentRepository.save(importDocument);
ImportDocument importDocument = new ImportDocument();
//...
importDocument.setImportDocumentItems(items);
items.forEach(ImportDocumentItem::setImportDocument);
importDocumentRepository.save(importDocument);