Det er mærkeligt, men forespørgslen håndterer ikke null særlig godt. Da jeg ændrede forespørgslen til:
Query query = getSession().createQuery("from Car as c where " +
"c.carModel = ? AND c.carMake is null").setParameter(0, carModel);
det fungerer fint, da DAO'en skal forespørge om mærket som NULL. Så hvis det ikke er null, skal jeg have to sæt forespørgsler, et som er hardkodet til at vælge null som ovenfor, andet til setParam(1, carMake).
Underligt, men jeg tror, det virker.