Я прошел через удаленные и прикрепленного объекта согласно моему пониманиюMerge терпит неудачу когда-то в JPA Hibernate, но в той же самой транзакции PERSIST работы
User user=entityManager.find(User.class,1);
здесь пользователь является приложенный лицом каких-либо изменений в этой воли быть отражены в базе данных
И отдельно стоящий объект Недавно созданный объект, который можно использовать вместо слияния упорствовать в следующим образом @
User userDetached=new User;
user.setID(1);
User userattahed=entityManger.merge(userDetached);
userattahed.setName("cool");
Здесь имя будет отражено в базе данных ... если я не ошибаюсь
Ниже мой код, где несколько раз (100/10) слияние не работает, где, как сохраняются 100% работ ...
entityManager = JPAUtil.getEntityManager();
UsersModel user=entityManager.find(UsersModel.class,getMobile_num());
TrackModel track=new TracksModel();
user.setBalance(user.getBalance().add(getAmount()));
track.setMobile_Num(getMobile_num());
track.setTransaction_Type(getTransaction_Type());
track.setAmount(getAmount());
entityManager.merge(user);//doesn't update few times
entityManager.persist(track); //works 100%
JPAUtil.commit();
Почему вы объединяете сущность, находящуюся в «управляемом» состоянии? бессмысленно, поскольку обновления будут «известны». –
@NeilStockton Я понимаю, что вы имели в виду, но это ничего не значит? –
Это означает, что ваш вызов бессмыслен (так же бессмысленно, как и сравнение с сохраняемым объектом DIFFERENT). И если вы хотите, чтобы DEBUG ваша проблема, вы смотрите на журнал, какой бы ни был выбран ваш JPA-провайдер. –