org.hibernate.AssertionFailure: нулевой идентификатор в записи com.app.models.Item (не очищайте сессию после возникновения исключения) - PullRequest
0 голосов
/ 25 апреля 2019

Это исключение я получаю, когда пытаюсь сохранить список партий

    @Entity
    @Table(name = "item",uniqueConstraints = {@UniqueConstraint(columnNames = { "item_code", "stock_id" },name="uniqueItemCodeStockId")})
    public class Item {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name="stock_id")
    private int stockId;

    @Column(name = "item_code")
    private String itemCode;


}


@Override
    public void saveItemsBatch(List<Item> itemList) {

        Session session = sesionFactory.openSession();
        Transaction tx = session.beginTransaction();
        int count = 0;
        for(Item item : itemList ) {
            try {

                session.saveOrUpdate(item);
                count++;
                if(count%1000 == 0) {
                    session.flush();
                    session.clear();
                }

            }catch(Exception exception) {
                exceptionService.saveExceptions(item.getId(), exception);
            }

        }

        tx.commit();
        session.close();
    }

Я не знаю, чего мне не хватает. Я также пробовал эту ссылку, но все еще не могу разрешить org.hibernate.AssertionFailure: нулевой идентификатор в записи (не очищать сеанс после возникновения исключения)

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