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 JPA是';t荷载关系_Java_Jpa - Fatal编程技术网

Java JPA是';t荷载关系

Java JPA是';t荷载关系,java,jpa,Java,Jpa,我在一个实体中有好几个一对一的关系 @OneToMany(cascade = CascadeType.ALL, mappedBy = "url") private List<Squrlimage> squrlimagelist; 但是,关系不会加载。它始终在实体中提供空值。代码怎么了?我的其他关系很好。谢谢。我想您可以将@join列移动到@manytone下,并确保本地数据库中有url记录。还要检查表中的ID是否唯一。试试这个 @OneToMany(fetch = FetchTyp

我在一个实体中有好几个一对一的关系

@OneToMany(cascade = CascadeType.ALL, mappedBy = "url")
private List<Squrlimage> squrlimagelist;

但是,关系不会加载。它始终在实体中提供空值。代码怎么了?我的其他关系很好。谢谢。

我想您可以将@join列移动到@manytone下,并确保本地数据库中有url记录。还要检查表中的ID是否唯一。

试试这个

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "url")
private List<Squrlimage> squrlimagelist;

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "URL", insertable = false, updatable = false)
private Url url;
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy=“url”)
私有列表;
@manytone(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
@JoinColumn(name=“URL”,insertable=false,updateable=false)
私有Url;

您有“insertable=false,Updateable=false”为什么?这意味着不会插入/更新外键,因此当您读回外键时,它将为空。

您是否可以检查是否始终使用“批注on”字段,以及是否在配置文件中指定了任何访问方法。如果存在差异,字段上的注释将被忽略。我发现非常奇怪的是,不仅关系没有正确加载,而且一些字段还返回空值。可能出了什么问题?
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "url")
private List<Squrlimage> squrlimagelist;

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "URL", insertable = false, updatable = false)
private Url url;