MongoDB добавить создать при обновлении в поле java - PullRequest
0 голосов
/ 06 марта 2020

Мне интересно знать, как использовать поле createAt и updatedAt в mon go при использовании драйвера java syn c.

Я знаю, как это сделать в mon goose

const SchemaName = new Schema({
//myschema
}, {
  timestamps: true
})

Я хотел бы знать, как я могу добиться того же в java, я знаю одну возможность иметь в поле поле createAt и updatedAt и обновлять значение во время вставки и обновления?

1 Ответ

0 голосов
/ 02 апреля 2020

Вы можете использовать javax.persistence аннотации с @PrePersist и @ PreUpdate.

@ PrePersist

Он будет вызван перед сохранением данные в базе данных, с updatable = false будут записаны только один раз.

@ PreUpdate

Они будут вызваны перед вставкой данных в базу данных, и он вызывается при каждой вставке.

Ваша сущность должна наследовать класс AbstractEntity, указанный ниже:

    @MappedSuperclass
    public class AbstractEntity implements Serializable {

        private static final long serialVersionUID = -8087154111957605234L;

        @Column(name = "CREATED_AT", updatable=false)
        private Date createdAt;

        @Column(name = "UPDATED_AT")
        private Date updatedAt;

        public Date getCreatedAt() {
            return createdAt;
        }

        public void setCreatedAt(Date createdAt) {
            this.createdAt = createdAt;
        }

        @PrePersist
        protected void onCreate() {
            createdAt = new Date();
        }

        @PreUpdate
        protected void onUpdate() {
            updatedAt = new Date();
        }
     }
...