В продолжение моего предыдущего поста я попал в ситуацию, когда пытаюсь сохранить сущность с @Idclass с составным индексом. По непонятной причине, почему я пытаюсь сохранить объект (который я получаю от вызова покоя), я получаю следующую ошибку:
org.hibernate.HibernateException: Никакая часть составного идентификатора не может быть нулевым
Я видел, что inte rnet полон примеров того, как использовать @IdClass во многих отношениях, но я уже видел несколько ошибок , связанных с сохранением сущностей, которые использует его.
Вы можете увидеть весь мой код в предыдущем посте, но суть в следующем забавном c:
private Product mapProductCreationDTOtoProduct(ProductCreationDTO pcd)
{
Product p = modelMapper.map(pcd,Product.class); // maps fields with same name that arent nested(like manufacturer)
Optional<Manufacturer> o = manufacturerService.getManufacturer(pcd.getManufacturer());
o.ifPresent(m->p.setManufacturer(m));
p.setId((long) 1); <-------------------------------------------
return p;
}
Когда я устанавливаю Id вручную, сущность сохраняется без проблем, но когда я не указываю идентификатор, сущность не сохраняется, и я получаю ошибку, упомянутую выше.
Кто-нибудь еще сталкивался с подобной проблемой?