Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的org.hibernate.exception.constraintviolationexception_Java_Hibernate - Fatal编程技术网

java中的org.hibernate.exception.constraintviolationexception

java中的org.hibernate.exception.constraintviolationexception,java,hibernate,Java,Hibernate,我是java的初学者。 我正试图插入到表“组织”中具有外键“org_id”的表“employee”中。由于我的代码试图将null插入到外键中,因此我收到了一个约束冲突异常。下面是我的代码 @RequestMapping(path = "organisation/landing",method = RequestMethod.POST) public void addEmployee(@RequestBody Employee employee){ employeeRepository.s

我是java的初学者。 我正试图插入到表“组织”中具有外键“org_id”的表“employee”中。由于我的代码试图将null插入到外键中,因此我收到了一个约束冲突异常。下面是我的代码

@RequestMapping(path = "organisation/landing",method = RequestMethod.POST)
public void addEmployee(@RequestBody Employee employee){
    employeeRepository.save(employee);
}

请告诉我如何正确地执行此操作。

您需要首先从DB加载组织实体

Organization organization = organizationRepository.findOne( /* org_id */ );
然后设置为employee

employee.setOrganization(organization);
只有这样才能拯救员工

employeeRepository.save(employee);

顺便说一句,将持久性实体作为请求体传递是一种糟糕的做法,在控制器级别操作持久性实体也不好

不要尝试在外键中插入null。您有任何代码引用吗。这可能会对我有所帮助。提前感谢您在没有组织的情况下无法保存
员工
,因为您已经以每个员工都必须属于一个组织的方式定义了实体模型。