У меня есть объект домена и аннотированный следующимHibernation аннотации, задать значение по умолчанию столбца
@Entity
@Table(name = "REQUEST")
public class Request {
/**
* Unique id for this request
*/
@Id
@GeneratedValue
@Column(name = "EQ_ID")
private long requestId;
/**
*
*/
@Column(name = "EMAIL_ID")
private String emailId;
/**
*
*/
@Column(name = "REQUEST_DATE")
private Date requestDate;
/**
*Getters/setters omitted
*/
}
Колонка Request_date не может быть пустым, и в соответствии с DDL значением по умолчанию является SYSDATE (Oracle DB). Как я могу аннотировать это поле, чтобы, если свойство requestDate равно null, hiberanate автоматически вставляет sysdate.? В настоящее время он выдает ошибку, когда поле равно NULL, что очень очевидно, поскольку оно не может быть нулевым в соответствии с ограничениями БД. Как мне это сделать? Один из вариантов - отметить это поле как переходное, а вставки работают нормально. Но отрицательный аспект заключается в том, что я не смогу получить значение (столбца request_date).
Это веб-приложение. Вышеприведенная строка введет время сервера, которое будет отличаться от sysdate (при условии, что сервер приложений и db находятся в разностных часах). Также тот же код будет работать на разных серверах разработки, но все они указывают на тот же экземпляр db. – chedine
@chedine: Если у вас есть определенные ограничения, почему бы вам не добавить их в вопрос ?! Вы бы лучше ответили, и люди не теряли бы времени, предлагая что-то, что не соответствует вашим ограничениям. –
Может быть, моя ошибка. В любом случае, спасибо за ваше время. – chedine