Можно ли использовать @PostLoad
с Hibernate Criteria API?Например:
@Entity
public class EntityExample {
private Integer startYear;
private Integer startPeriod;
@Transient
private String start;
@PostLoad
private void init() {
this.start = this.startYear.toString() + this.startPeriod.toString();
}
public String getStart() {
return this.start;
}
}
public class DAOExample {
public Collection<EntityExample> get(String start) {
Session session = getSession();
Criteria criteria = session.createCriteria(EntityExample.class, "entity");
criteria.add(Restrictions.ne("entity.start", start));
return criteria.list();
}
}
Когда я использую @Formula
с критериями гибернации (например: @Formula(value = "start_year::text || start_period::text")
), все работает нормально.Но я пытаюсь использовать @PostLoad
, потому что, если необходимо изменить рефакторинг какого-либо свойства envolved, нет необходимости помнить об изменении вручную value
формулы.Однако использование @PostLoad
вызывает: org.hibernate.QueryException: could not resolve property: start of: com.entity.EntityExample