У меня проблема с сохранением сущности.
Проблема в том, что ему присваивается уже использованный идентификатор.
В процессе я запускаю сервер, делаю запрос на сохранение испасти.Я могу успешно сохранить пару, как это, но затем я перезагружаю бэкэнд, и он получает назначенный идентификатор, который уже использует 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
, о чем я сожалею.
Можете ли вы сказать мне, в чем здесь проблема, или что-нибудь, что я могу проверить и попробовать?
Скажите, что вы хотите увидеть, я обновлю это.
Спасибо