微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理静态外键相关表 Spring Data Jpa

如何解决如何处理静态外键相关表 Spring Data Jpa

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。