Ошибка сохранения объекта с составным @idclass: HibernateException: ни одна часть составного идентификатора не может быть нулевой - PullRequest
0 голосов
/ 21 марта 2020

В продолжение моего предыдущего поста я попал в ситуацию, когда пытаюсь сохранить сущность с @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 вручную, сущность сохраняется без проблем, но когда я не указываю идентификатор, сущность не сохраняется, и я получаю ошибку, упомянутую выше.

Кто-нибудь еще сталкивался с подобной проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...