Я пытаюсь сохранить ObjectId
как атрибут HttpSession
, а затем получить его позже в программе. Тем не менее, программа выдает NullPointerException
при попытке получить new ObjectId((String)session.getAttribute("id"))
Это код для хранения ObjectId:
HttpSession session = request.getSession();
session.setAttribute("id", collection.find(eq("email", email)).first().getObjectId("_id").toHexString());
session.setAttribute("user_type", userType);
Это код для получения ObjectId:
HttpSession session = request.getSession();
ObjectId id = new ObjectId((String)session.getAttribute("id"));
Интересно, что следующий код не создает исключение `NullPointerException:
HttpSession session = request.getSession();
System.out.println(session.getAttribute("id").toString());
Исходя из этого, кажется, что ObjectId
действительно был сохранен как атрибут в HttpSession, но по какой-то причине NullPointerException
создается при попытке получить его так, как я это сделал.
Как бы я получил ObjectId
таким образом, чтобы это исключение не выдавалось?