在EJB JPA中,使用results = (List<Object>) query.getResultList()查询数据,当数据库中没有数据时,results 得到的并不是null,而是一个list:[null].
以下代码说明了这个问题:
public static void main(String args[]) {
List<Object> lt = get();
if(lt == null)
System.out.println("0");
else
System.out.println("1"); // 1
}
private static List<Object> get() {
List<Object> results = new ArrayList<Object>();
results.add(null);
System.out.println(results); //[null]
return results;
}
以下代码说明了这个问题:
public static void main(String args[]) {
List<Object> lt = get();
if(lt == null)
System.out.println("0");
else
System.out.println("1"); // 1
}
private static List<Object> get() {
List<Object> results = new ArrayList<Object>();
results.add(null);
System.out.println(results); //[null]
return results;
}