Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Spring数据Jpa OneToMany存储双向_Postgresql_Spring Boot_Spring Data Jpa - Fatal编程技术网

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);