java - 数据库中的列为空时的 if 语句

标签 java spring hibernate

伙计们,我正在制作一个使用 hibernate 和 spring mvc 从 db 读取数据的网格库。我有 2 个员工表,其中有 EPMID、EMPNAME、EMPAGE、SALARY、ADDRESS、department_id(部门表中对 department_id 的引用)和有 department_id 和名称的部门...这里是 Department.java

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;}

员工.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;}

以及在服务中添加员工的功能

@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);
}

但是当输入 department_id 在父 department_id 中找不到时.. 发生空指针异常.. 我想将 department_id 设置为 16 而不是

最佳答案

默认情况下,Java 中的每个类都有 java.lang.Object 作为其父类(super class)。由于 equals 方法是由 Object 类提供的,您可以在 dept 对象上调用它。

if (dept.equals(null)) {
    employee.setDepartment(departmentDao.getDepartment(16));
}

null 不是 Java 中的对象。所以 if 语句应该是:

if(dept == null) {
   \* ---- your code goes here --- *\
}

关于java - 数据库中的列为空时的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567020/

相关文章:

java - 保存使用递归方法的 Java 类的状态

java - 严重 : org. hibernate.MappingException:命名查询未知:

hibernate - org.hibernate.hql.internal.ast.QuerySyntaxException : unexpected token: Apr near line 1, 第 81 列

java - 从数据库中检索 ZIP - 如何使用索引对其进行优化

java - 在 Java 中使用 UDP 跨网络发送对象

java - 模拟类的内部方法

java - 在 Spring Security Oauth2 版本 2.0.7.RELEASE 中请求多个范围

java - Spring ERR_CONNECTION_REFUSED

mysql - NetBeans、GlassFish 和 Hibernate JPA

java - 在 session 范围内存储对象列表 Spring MVC 的 ApplicationListener