Я использую Hibernate 4.3.6.Final, JPA 2.1, MySQL 5.5.37 и Spring 3.2.11.RELEASE. У меня есть объект со следующим полем и геттер (не сеттера) ...JPA: Как запретить запись поля в базу данных?
@Column(name="CREATED_ON")
private java.util.Date createdOn = new java.util.Date();
public java.util.Date getCreatedOn()
{
return createdOn;
} // getCreaetdOn
Я заметил, когда я исполняю JPA сохранить транзакции, например ...
public T save(T obj)
{
if (obj != null)
{
final T id = (T) getId(obj);
if (id == null)
{
m_entityManager.persist(obj);
}
else
{
obj = m_entityManager.merge(obj);
} // if
} // if
return obj;
}
Hibernate/JPA будет пытаться написать « NULL "в поле" CREATED_ON "в инструкции INSERT. Как настроить элементы в JPA, чтобы, если значение отсутствует, оно вообще не пытается записать значение? Причина, по которой я спрашиваю, заключается в том, что по умолчанию значение установлено в значение «CURRENT_TIMESTAMP» MySQL, и это значение не используется, если введен явный «NULL».
Спасибо, - Дэйв