java如何更新实体,而不是使用Hibernate将其插入数据库?
例如,我有一个Job实体和一个worker实体。 当我添加新作业时,我希望为其分配工人,而不是将其用户添加到 再次创建数据库(并创建副本)我只想更新workers (当我使用worker list创建新工单时,将工单添加到工单中)
例如:
@Entity
@Table(name = "job")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Job{
@Id
@Column(name = "id")
private Long id;
@OneToMany(mappedBy = "job", fetch = FetchType.EAGER)
private Set<Worker> workers;
}
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "workers")
public class User extends DataAudit {
@Id
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "job_id", referencedColumnName = "id")
private Job job;
}
Worker worker1 = workerService.getWorkerById(1);
Job job = new Job(1,worker1)
jobRepo.save(job)
# 1 楼答案
实体应使用双向OneToMany关联@JoinTable: