Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 I';我在@OneToMany hibernate映射中出错了?_Java_Hibernate_Spring Boot_Annotations_Hibernate Mapping - Fatal编程技术网

Java I';我在@OneToMany hibernate映射中出错了?

Java I';我在@OneToMany hibernate映射中出错了?,java,hibernate,spring-boot,annotations,hibernate-mapping,Java,Hibernate,Spring Boot,Annotations,Hibernate Mapping,我试图在两个类之间建立一对多连接,但我遇到了以下错误org.hibernate.AnnotationException:非法尝试将非集合映射为@OneToMany 这是我的密码 Job.java @OneToMany @JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false) private Set<JobCostSplit> jobCostSplit;

我试图在两个类之间建立一对多连接,但我遇到了以下错误
org.hibernate.AnnotationException:非法尝试将非集合映射为@OneToMany

这是我的密码

Job.java

@OneToMany
@JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false)

private Set<JobCostSplit> jobCostSplit;

您必须将JobCostSplit中的字段注释为@ManyToOne

 @ManyToOne
 private Job job

您必须将JobCostSplit中的字段注释为@ManyToOne

 @ManyToOne
 private Job job

您可以使用
@OneToMany
注释您的
工作。意味着您将在
Job
上有一个属性,在
jobcostplit
上有更多属性

因此,如果您想拥有一个
作业
和多个
作业成本拆分
,您必须将其设置为:

@ManyToOne
@JoinColumn(name = "job_id", referencedColumnName = "id", insertable = false, updatable = false)
private Job job;

您可以使用
@OneToMany
注释您的
工作。意味着您将在
Job
上有一个属性,在
jobcostplit
上有更多属性

因此,如果您想拥有一个
作业
和多个
作业成本拆分
,您必须将其设置为:

@ManyToOne
@JoinColumn(name = "job_id", referencedColumnName = "id", insertable = false, updatable = false)
private Job job;

首先你需要写作

@OneToMany(fetch = FetchType.LAZY, mappedBy = "job")
private Set<JobCostSplit> jobCostSplit= new HashSet<JobCostSplit>();

在JobCostSplit.java中,首先需要编写

@Column(name = "job_id")
private Long jobId;

@JsonIgnore
@OneToMany
@JoinColumn(name = "job_id", referencedColumnName = "id", insertable = false, updatable = false)
private Job job;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "job")
private Set<JobCostSplit> jobCostSplit= new HashSet<JobCostSplit>();

在job.java的jobcostplit.java中用@manytone替换@OneToMany

在job.java中用@manytone替换@OneToMany

@Column(name = "job_id")
private Long jobId;

@JsonIgnore
@OneToMany
@JoinColumn(name = "job_id", referencedColumnName = "id", insertable = false, updatable = false)
private Job job;
 @ManyToOne
 private Job job