5.8.3.1. Инициализация полей сущности
Атрибуты простых типов (Boolean
, Integer
и т.д.) можно инициализировать прямо в объявлении соответствующего поля класса сущности, например:
public class User extends StandardEntity {
...
@Column(name = "ACTIVE")
protected Boolean active = true;
...
}
Кроме того, в классе сущности можно создать специальный метод инициализации и добавить ему аннотацию @PostConstruct. В этом случае в процессе инициализации можно использовать вызов любых глобальных интерфейсов инфраструктуры и бинов, например:
public class MyEntity extends StandardEntity {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID")
protected User creator;
...
@PostConstruct
protected void init() {
setCreator(AppBeans.get(UserSessionSource.class).getUserSession().getUser());
}
}