经过一段时间后进入该领域,并使用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;