Я хочу увеличить позицию на 1, когда она будет сохранена. Я хочу сделать это, чтобы отсортировать карту, изменить положение каждой карты.
Это похоже на генерацию последовательности, начинающейся с 1, только после ее сохранения.
@Document
public class Card {
@Id private ObjectId id;
private String name;
private Long positionSequence = 1L; //increment the position 1 when saved
//getter, setter
}
MongoDb не имеет @PrePersist Как и JPA, я думал о расширении AbstractMongoEventListener и использовании BeforeConvertEvent для увеличения каждой позиции. Это хорошая идея?
@Override
public void onBeforeConvert(BeforeConvertEvent<Card> event) {
Card card = event.getSource();
if (card.getId() == null) {
card.setPositionSequence(positionSequence++);
}
}