Проще говоря, у меня есть столбец в базе данных, который настроен так:
create table if not exists thing(
id bigint primary key,
...,
test int default 5
);
И такой объект:
@Entity
public class Thing {
private long id;
...
private int test;
...
@Id public long getId() { return id; }
public void setId(long id) { this.id = id; }
public void setTest(int test) { this.test = test; }
@Column(updatable = false, insertable = false)
public int getTest() {
return test;
}
Когда я объединяю новый объект, напримерчто:
Thing thing = new Thing ();
thing.setId(123);
Thing managed = em.merge(thing);
managed
не синхронизирует поле test
с базой данных.Это покажет 0
.Как я могу заставить все JPA обновить то, что по сути является неизменным полем, установленным БД?
Цель этого - создать поле даты создания.Но также и другие сценарии, такие как поля БД, которые устанавливаются триггерами ...