Я пытаюсь отправить объект через ajax POST, используя полезную нагрузку JSON; этот объект имеет ссылки на другие объекты, хранящиеся в базе данных, обрабатываемой Hibernate; Мне нужно получить доступ к этой базе данных, чтобы разрешить ссылки на другие объекты и сохранить их в новом объекте, полученном десериализацией полезной нагрузки JSON запроса.
Теперь мне нужно получить доступ к атрибуту HttpServletRequest, чтобы получить сохраненный сеанс гибернации, который будет использоваться для доступа к базе данных. Является ли это возможным?
Контроллер, обрабатывающий запрос, следующий:
@RequestMapping(value = "/newproduct", method = RequestMethod.POST)
public @ResponseBody
Integer newProduct(HttpServletRequest request, @RequestBody Product product)
{
//Controller code here
}
Десериализатор, в котором я должен иметь возможность получить атрибут запроса "hibernate_session", является настраиваемым десериализатором, зарегистрированным в Джексоне, и является следующим:
public class ProductDeserializer extends JsonDeserializer<Product>
{
@Override
public Product deserialize(JsonParser jpar, DeserializationContext arg1)
throws IOException, JsonProcessingException
{
Product newProduct = new Product();
// I want to get request attribute or open a new hibernate session here
return newProduct;
}
}
Если нужно, при необходимости выложу еще код.
Спасибо