Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Java 一对一关系_Java_Jpa - Fatal编程技术网

Java 一对一关系

Java 一对一关系,java,jpa,Java,Jpa,当我想在数据库中持久化2对象时,我遇到了一个问题 在请求类中: @OneToMany(cascade=CascadeType.PERSIST,mappedBy=“request”) 私人清单文件 在文档类中: @JoinColumn(referencedColumnName=“ID\u请求”) @许多酮 请求 问题是,当我添加请求时,我发现2对象被持久化了,但在表文档lD_中,请求总是空的 提前感谢您并为我的英语道歉您需要声明文档表中包含请求Id的列: @JoinColumn(name = "P

当我想在数据库中持久化2对象时,我遇到了一个问题

在请求类中:

@OneToMany(cascade=CascadeType.PERSIST,mappedBy=“request”) 私人清单文件

在文档类中: @JoinColumn(referencedColumnName=“ID\u请求”) @许多酮 请求

问题是,当我添加请求时,我发现2对象被持久化了,但在表文档lD_中,请求总是空的


提前感谢您并为我的英语道歉

您需要声明文档表中包含请求Id的列:

@JoinColumn(name = "PARENT_REQUEST")

如果PARENT_REQUEST是文档表上的列的名称,则在将新数据持久化到数据库中时,您可能已将文档添加到请求列表中,但忘记将请求对象设置为另一侧的所有文档

检查您是否做了这两件事(以下是示例):

另外,您似乎对
ID\u请求
列没有NOTNULL约束。添加此项,这样将来就不会有带有可空
ID\u REQUEST
字段的损坏数据(在这种情况下,将引发约束冲突异常)

Request request = new Request();
//initialization of request
for (...) { //iterate over all document candidates
    Document document = new Document();
    //initialization of document
    document.setRequest(request); //check this!
    request.getDocuments().add(document);
}