com.mysql.jdbc.exceptions.jdbc4_java – com.mysql.jdbc.exceptions.jdbc4.MySQLIntegri...

当我想要插入一些数据时,我经常会出错

项目类

@Entity

@NamedQueries({

@NamedQuery(name = "Project.findAll",

query = "SELECT p FROM Project p"),

@NamedQuery(name = "Project.findByTitle",

query = "SELECT p FROM Project p WHERE p.title = :title")

})

public class Project implements Serializable{

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private int projectId;

@Column

private String title;

@Column

private String description;

@Column

private Date projectDate;

@ManyToOne

@JoinColumn(name = "projectStatusId")

private ProjectStatus projectStatus;

@OneToMany(mappedBy = "projectMemberId",fetch = FetchType.EAGER)

private List memberList = new ArrayList();

/**

* Setters and Getters

*/

}

ProjectMember类

@Entity

@NamedQueries({

@NamedQuery(name = "ProjectMember.findAll",

query = "SELECT pm FROM ProjectMember pm"),

@NamedQuery(name = "ProjectMember.findByProject",

query = "SELECT pm FROM ProjectMember pm WHERE pm.project = :project"),

@NamedQuery(name = "ProjectMember.findByUser",

query = "SELECT pm FROM ProjectMember pm WHERE pm.user = :user"),

@NamedQuery(name = "ProjectMEmeber.findByUserAndProject",

query = "SELECT pm FROM ProjectMember pm WHERE pm.user = :user AND pm.project = :project")

})

public class ProjectMember implements Serializable {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private int projectMemberId;

@Column

private Date activationDate;

@Column

private Date lastActiveDate;

@ManyToOne

@JoinColumn(name = "memberStatusId")

private MemberStatus memberStatus;

@ManyToOne

@JoinColumn(name = "projectId")

private Project project;

@ManyToOne

@JoinColumn(name = "memberRoleId")

private MemberRole memberRole;

@ManyToOne

@JoinColumn(name = "userId")

private User user;

/**

* Setter and Getter

*/

}

这就是我如何运行它

ProjectController类

public String createProject(){

project.setProjectDate(new Date());

project.setProjectStatus(new ProjectStatusFacade().findByStatus("active"));

ProjectMember projectMember = new ProjectMember();

projectMember.setMemberStatus(new MemberStatusFacade().findByStatus("accepted"));

projectMember.setMemberRole(new MemberRoleFacade().findByRole("team leader"));

projectMember.setActivationDate(new Date());

projectMember.setUser(userSession.getUser());

new ProjectFacade().create(project);

System.out.print(project);

projectMember.setProject(project);

new ProjectMemberFacade().create(projectMember);

userSession.setUser(new UserFacade().findById(userSession.getUser().getUserId()));

return "index?faces-redirect=true";

}

这就是我最终得到的

Caused by: javax.faces.el.EvaluationException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

... more exceptions

Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

... more exceptions

Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

...more exceptions

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`goent`.`projectmember`, CONSTRAINT `FKfyw2iinfhhsbrmqbu1sr7l93q` FOREIGN KEY (`projectMemberId`) REFERENCES `project` (`projectId`))

... more exceptions

15:51:06,449 ERROR [io.undertow.request] (default task-4) UT005023: Exception handling request to /hibernate/pages/project-add-member.xhtml: javax.servlet.ServletException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

... more exceptions

Caused by: javax.faces.el.EvaluationException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

... more exceptions

Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

...more exceptions

Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

... more exceptions

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`goent`.`projectmember`, CONSTRAINT `FKfyw2iinfhhsbrmqbu1sr7l93q` FOREIGN KEY (`projectMemberId`) REFERENCES `project` (`projectId`))

... more exceptions

使用:Java,JPA,Hibernate,MySQL5.7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值