-3

私は次の方法を得ました

public Person findByAdd(String add) {
    try {
        final String queryString = "select p from Destinations p where p.address = :add";
        Query query = em.createQuery(queryString);
        query.setParameter("add", add);
        return (Person) query.getSingleResult();

    } catch (RuntimeException re) {
        throw re;
    }
}

Person オブジェクトが存在しない場合に null ポインター例外をスローし、このようなことをしたい

if(person.getAdd !=null){
   system.out.println ("address exist");    
}
else
{
system.out.println ("please enter address ");   
}

しかし、人が存在しない場合、これは例外をスローします。人がnullの場合を効率的に評価するにはどうすればよいですか

4

2 に答える 2

5
if (person != null && person.getAdd() != null)
   System.out.println ("address exist");    
}
于 2013-01-18T14:55:13.957 に答える
1

getSingleResult()値を返したい場合は使用しないでくださいnull。これを使って:

TypedQuery<Person> query = em.createQuery(queryString, Person.class);
List<Person> list = query.getResultList();
if (list.isEmpty()){
    return null;
}
return list.get(0);
//or inlined: return list.isEmpty() ? null : list.get(0);
于 2013-01-18T14:57:23.950 に答える