У меня есть один объект JPA, который имеет созданную дату и измененную колонку даты. При создании/сохранении созданная дата и измененная дата генерируются значением по умолчанию, заданным в базе данных, которое является меткой времени. Однако при создании, когда я пытаюсь выполнить обновление/слияние, я не могу понять, как изменить измененную дату, используя значение по умолчанию в базе данных. Любой совет? Это текущая настройка:JPA EntityManager - использование слияния для создания значения по умолчанию?
....
@Temporal(TemporalType.DATE)
@Column(name="CREATED_DATE", insertable = false, updatable = false)
private Date createdDate;
@Temporal(TemporalType.DATE)
@Column(name="MODIFIED_DATE", insertable = false)
private Date modifiedDate;
....
-
public Database changeDate(Database oldValues)
Database newvalues = new Database();
....
newValues.setCreatedDate(oldValues.getCreatedDate);
//newValues.setModifiedDate(); <-- (Should use the default value in the database)
....
em.merge(newValues); <-- (EntityManager)
em.getTransaction().commit();
** Только в случае, если я не сделал себе ясно, я просто не знаю, как сделать это обновление с набором значения по умолчанию в базе данных.
Чтобы сделать это немного понятнее, вы говорите: «Я пытаюсь обновить newValues.modifiedDate до нового значения Date(), но после транзакционного фиксации в БД нет обновления» или «Я пытаюсь обновить newValues .modifiedDate для нулевого значения, но я получаю исключение "? –
Я хотел попытаться обновить его до значения по умолчанию, которое оно хранило в базе данных. Установка его в значение null не помогла. Я могу выполнить новый маршрут Date(), но я бы предпочел значение по умолчанию. –
Я бы предложил изменить ваш вопрос и удалить «null». Если вы переформулируете свой вопрос, чтобы объяснить, что именно вы пытаетесь сделать, нам будет намного легче помочь. –