2

经过一段时间后进入该领域,并使用spring boot和spring data jpa使用spring框架来提高我的java技能。

这是我的问题....我有一个我正在开发的项目管理应用程序,主表,称为项目,它具有静态状态表的外键,并且在尝试将新项目实体插入到具有状态的数据库时表对象集,我要么在状态表中得到重复的状态,要么在当前表单中,尝试在数据库中插入新的状态记录时出错,外键限制出错。

如何映射此关系以便在不创建新状态记录的情况下保存项目?还是我只需要删除项目和状态表的约束,并在对象级别保存项目实体的状态 ID?

Project Entity Class

@Entity
@Table(name = "project_tbl")
public class Project implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//Name and date fields ommited

@ManyToOne(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
@JoinColumn(name = "status_id")
private ProjectStatus status;

//省略构造函数、getter 和设置

Status Entity Class

@Entity
@Table(name = "status_tbl")
public class ProjectStatus implements Serializable{

/**
 *
 */
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;

private String name;
4

0 回答 0