Jungs ich mache eine Grid-Bibliothek, die Hibernate und Spring Mvc verwendet, um Daten aus db zu lesen. Ich habe 2 Tabelle Mitarbeiter, die EPMID, EMPNAME, EMPAGE, GEHALT, ADRESSE, department_id (refrences in Tabelle department) und Abteilung department_id die department_id und Namen hat ... hier die Department.javaif-Anweisung, wenn die Spalte in der DB null ist
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "department_id")
private int depId;
@Column(name = "name")
private String depName;
@OneToMany(mappedBy="department",cascade = { CascadeType.ALL }, orphanRemoval=true)
private List<Employee> employees;}
Employee.java
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "EMPID")
private int empId;
@Column(name = "EMPNAME")
private String empName;
@Column(name = "ADDRESS")
private String empAddress;
@Column(name = "SALARY")
private String salary;
@Column(name = "EMPAGE")
private int empAge;
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="department_id")
private Department department;}
und die Funktion, die teh Mitarbeiter in Service ergänzt ist
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
public void addEmployee(String[] list, Employee employee) {
employee.setEmpName(list[2]);
employee.setEmpAge(Integer.parseInt(list[4]));
employee.setEmpAddress(list[6]);
employee.setSalary(list[1]);
//employee.getDepartment().setDepId(Integer.parseInt(list[3]));
Department dept = departmentDao.getDepartment(Integer.parseInt(list[3]));
if(dept.equals(null)){
employee.setDepartment(departmentDao.getDepartment(16));
}
employee.setDepartment(dept);
this.employeeDao.addOrEditEmployee(employee);
}
aber bei der Eingabe department_id nicht in der übergeordneten department_id .. eine Nullpointer-Ausnahme gefunden auftritt .. i die department_id festlegen möchten gleich zu 16 statt