Я не могу обновить значение таблицы 'shop_table' для указанной строки, используя объект фабрики локального сеанса гибернации? - PullRequest
2 голосов
/ 17 апреля 2019

Если я печатаю объект сеанса, желаемый вывод неправильный, т. Е. -

SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=org.hibernate.engine.spi.ExecutableList@7164ee40 updates=org.hibernate.engine.spi.ExecutableList@2d80b7f deletions=org.hibernate.engine.spi.ExecutableList@560d3d76 orphanRemovals=org.hibernate.engine.spi.ExecutableList@10fbc8b2 collectionCreations=org.hibernate.engine.spi.ExecutableList@463b2203 collectionRemovals=org.hibernate.engine.spi.ExecutableList@47a5a48 collectionUpdates=org.hibernate.engine.spi.ExecutableList@3b23213c collectionQueuedOps=org.hibernate.engine.spi.ExecutableList@75d3c0b2 unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])

Я считаю ценным, если печатать вот так -

SessionImpl(PersistenceContext[entityKeys=[EntityKey[com.mode
l.Entity#1]],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[
] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]])

Мой класс для магазина --

@Entity
@Table(name = "shops")
public class Shop {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column(name = "shop_domain")
    private String shopDomain;
    @JsonFormat(pattern="dd-MM-yyyy")
    private Timestamp orderSyncDate;
    @OneToOne(mappedBy = "shop", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JsonManagedReference
    private NetsuiteConfig netsuiteConfig;

Я просто установил некоторые данные для объекта класса магазина, пытаясь сохранить в БД, идентификатор удержания объекта, т.е. уже существует в БД, запросить как - session factory.getCurrentSession (). Update (shop);это на самом деле не обновить значение в дБ, я не знаю причину, почему?

1 Ответ

1 голос
/ 17 апреля 2019

Вы должны зафиксировать свое обновление для распространения изменений в БД:

...
sessionFactory.getCurrentSession().update(shop);
sessionFactory.getCurrentSession().commit();
...

Ссылки:

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