我在@OneToMany 休眠映射中遇到错误?
I'm getting error in @OneToMany hibernate mapping?
我试图在两个 类 之间建立一对多连接,但我收到此错误 org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany
。
这是我的代码,
Job.java
@OneToMany
@JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false)
private Set<JobCostSplit> 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;
您必须将 JobCostSplit 中的字段注释为 @ManyToOne
@ManyToOne
private Job job
您用 @OneToMany
注释了您的 Job
。意味着您将在 Job
上拥有一个属性,在 JobCostSplit
上拥有更多属性。
所以如果你想拥有一个 Job
和更多 JobCostSplit
你必须这样设置:
@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>();
在Job.java中,然后添加
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="jobId",nullable=false)
private Job job;
在JobCostSplit.java
在job.java中将@OneToMany替换为@ManyToOne
我试图在两个 类 之间建立一对多连接,但我收到此错误 org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany
。
这是我的代码,
Job.java
@OneToMany
@JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false)
private Set<JobCostSplit> 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;
您必须将 JobCostSplit 中的字段注释为 @ManyToOne
@ManyToOne
private Job job
您用 @OneToMany
注释了您的 Job
。意味着您将在 Job
上拥有一个属性,在 JobCostSplit
上拥有更多属性。
所以如果你想拥有一个 Job
和更多 JobCostSplit
你必须这样设置:
@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>();
在Job.java中,然后添加
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="jobId",nullable=false)
private Job job;
在JobCostSplit.java
在job.java中将@OneToMany替换为@ManyToOne