JPA проблема с сохранением - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблемы с записью базы данных в JPA.Мои настройки установлены для JPA, и я использую hibernate как сервис.У меня есть следующий код.

EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
List<Beer> beiren = FindBeers();

List<Beer> aa = beiren.stream().map(x-> { 
    x.setPrice(x.getPrice()*1.02F);
    return x;
}).collect(Collectors.toList());

Collections.copy(beiren,aa);
beiren.stream().forEach(System.out::println);
tx.commit();
em.close();
emf.close();

когда я изменяю значение цены в списке beiren, я ожидаю, что это повлияет на базу данных, когда менеджер сущности закрыт.так как это в некотором постоянном поле, я думаю.если все, что я делаю правильно, у меня может быть что-то не так в моих классовых конструкциях.

Не могли бы вы мне помочь?что я не правильно делаю?спасибо ...

1 Ответ

0 голосов
/ 14 ноября 2018

Перед коммитом добавьте эту строку.Если вы ищете что-то в EntityManager, которое сохранит или обновит коллекцию, ответ - нет.Вам придется зацикливаться.API EntityManager.merge () обновится, если запись существует, или вставит новую запись.

aa.stream().foreach(em::merge);

Надеюсь, что это сработает.

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