The exception tell you that department_id has not a default value. So change nullable value to true into Employee
department field if you want nullable values.
@ManyToOne
@JoinColumn(name="department_id", insertable=false, updatable=false , nullable=true)
private Department department;
Moreover..
Department
table doesn't have a column with a foreign key to the Employee
table. @JoinColumn
indicates that this entity is the owner of the relationship, so remove that annotation from employees field in Department
class.
Then change your @OneToMany
on employees adding mappedBy
attribute
@OneToMany(mappedBy="department", cascade={CascadeType.ALL})
private List<Employee> employees;