Генерация идентификатора объекта JHipster после перезапуска сервера отключена - PullRequest
0 голосов
/ 30 ноября 2018

У меня проблема с сохранением сущности.

Проблема в том, что ему присваивается уже использованный идентификатор.

В процессе я запускаю сервер, делаю запрос на сохранение испасти.Я могу успешно сохранить пару, как это, но затем я перезагружаю бэкэнд, и он получает назначенный идентификатор, который уже использует A different object with the same identifier value was already associated with the session : [com.driveme.domain.Offer#63].

У меня также есть hibernate_sequence на месте, и я даю команду @SequenceGeneratorиспользуйте его:

@Entity
@Table(name = "offer")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JsonIdentityInfo(
    generator = ObjectIdGenerators.IntSequenceGenerator.class,
    scope = Offer.class
)
public class Offer implements Serializable {

    private static final long serialVersionUID = 11242L;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator", sequenceName = "hibernate_sequence")
    private Long id;

    ...
    }

, но эта последовательность имеет совершенно другое значение.В данном конкретном случае это было select nextval('hibernate_sequence') -> 113 так совершенно отключено.

Служба, где я делаю магию, проста:

@Service
@Transactional
public class OfferService {
    ...
public Offer createOffer(Offer iOffer) {

        DriveMeUser provider = driveMeUserService.getLoggedInDriveMeUser();
        DriveOrder order = driveMeOrderService.getOrderBy(iOffer.getOrderId());

        iOffer.setProvider(provider);
        iOffer.setDriveOrder(order);

        iOffer = offerRepository.save(iOffer);

        messagingService.orderOfferStateChange(iOffer);
        timePlacedOffer(iOffer);

        return iOffer;
    }

Возможно, стоит отметить, timePlacedOffer запускает new Timer() и графики изменения состояния предложения через некоторое время.Тем не менее я пытался сбить его с ног, и он все еще делает то же самое.На данный момент я пытался запустить это на пристани и tomcat8, но все же.База данных - PostgreSQL11.

Я отключил Liquibase, чтобы вначале что-то не испортить.

Это приложение основано на Jhipster 4.14.1, о чем я сожалею.

Можете ли вы сказать мне, в чем здесь проблема, или что-нибудь, что я могу проверить и попробовать?

Скажите, что вы хотите увидеть, я обновлю это.

Спасибо

1 Ответ

0 голосов
/ 01 декабря 2018

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

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