Я пытаюсь получить все строки из таблицы «Местоположение». Но мой метод DAO всегда возвращает NullPointerException. Я не знаю, почему это происходит. Я пробовал hql, критерии и т. Д., Но результат был тот же.Hibernate. Получение всех строк возвращает nullPointerException
Контроллер
@Controller
public class HomeController {
@Autowired
private UserService userService;
private FuturePlanService futurePlanService;
private LocationService locationService;
@RequestMapping(value = "/user/{id}/addPlan", method = RequestMethod.GET)
public ModelAndView addFuturePlan(@PathVariable int id){
ModelAndView modelAndView = new ModelAndView("add_future");
User user = userService.findById(id);
FuturePlan futurePlan = new FuturePlan();
List<Location> locations = locationService.getAll();
modelAndView.addObject("ownerUser", user);
modelAndView.addObject("future", futurePlan);
modelAndView.addObject("locations", locations);
return modelAndView;
}
Расположение Dao
@Repository
public class LocationDaoImpl implements LocationDao {
@Autowired
SessionFactory sessionFactory;
@Override
public Location findLocation(int id) {
Session session = sessionFactory.openSession();
Location location = (Location) session.get(Location.class, id);
session.close();
return location;
}
@Override
public Location findLocation(String name) {
Session session = sessionFactory.openSession();
Criteria cr = session.createCriteria(Location.class);
cr.add(Restrictions.eq("lName", name));
cr.setMaxResults(1);
Location location = (Location) cr.uniqueResult();
session.close();
return location;
}
@Override
public List<Location> getAll() {
Session session = sessionFactory.openSession();
List<Location> list = session.createQuery("from Location").list();
session.close();
return list;
}
}
Расположение Entity
@Entity
public class Location {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int lId;
private String lName;
public Location() {
super();
}
public Location(int lId, String lName) {
super();
this.lId = lId;
this.lName = lName;
}
public int getlId() {
return lId;
}
public void setlId(int lId) {
this.lId = lId;
}
public String getlName() {
return lName;
}
public void setlName(String lName) {
this.lName = lName;
}
HTTP Status 500 - обработка запроса не удалось; Вложенным исключением является java.lang.NullPointerException. В этой строке Расположение списка = locationService.getAll() ;. В контроллере.
Если вам нужно больше файлов, просто скажите мне.
Thx Reimeus! Я думал, что могу использовать несколько сервисов под одной аннотацией. Ваше решение решило мою проблему. –