@UpdateTimestamp
@Column(name="UPDATE_TIME_STAMP")
private LocalDateTime updateTimeStamp;
@CreationTimestamp
@Column(name="POLICY_ISSUE_DATE")
private LocalDateTime policyIssueDate;
Здравствуйте, я новичок в спящем режиме. У меня есть поля выше как в моей сущности, так и в базе данных. Однако для моего метода Dao, к которому я обращаюсь к нему из контроллера SpringBoot, он не обновляет поле UPDATE_TIME_STAMP в базе данных при выполнении обновлений запроса с использованием метода ниже.
@Override
public int updatePolicyStatus(String status,int policyNumber) {
Query query = entityManager.createQuery("UPDATE Policy p SET POLICY_STATUS=:status where POLICY_NUMBER=:policyNumber");
query.setParameter("status",status);
query.setParameter("policyNumber", policyNumber);
return query.executeUpdate();
}
Также, если я пытаюсь объединить сущность, она пытается обновить creationTimeStamp с помощью NULL, который в конце завершается ошибкой, так как я сохранил свой POLICY_ISSUE_DATE как NOT NULL в базе данных.
@Override
public void updatePolicy(Policy policy) {
entityManager.merge(policy);
}
Итак, как избежать значения NULL для creationTimeStamp при использовании merge (policy), а также почему обновление updateTimeStamp не выполняется с executeUpdate ().