private CriteriaBuilder criteriaBuilder;
private CriteriaQuery<Points> criteriaQuery;
private Root<Points> root;
@PostConstruct
private void init() {
criteriaBuilder = entityManager.getCriteriaBuilder();
criteriaQuery = criteriaBuilder.createQuery(Points.class);
root = criteriaQuery.from(entityManager.getMetamodel().entity(Points.class));
}
public void t(Date lowerLimit, Date upperLimit) {
Predicate startPredicate = criteriaBuilder.greaterThanOrEqualTo(root.<Date>get(Points_.createdOn), lowerLimit);
}
Exception: java.lang.NullPointerException: null at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:123)
I use hibernate 5.2.10.Final version.
Metamodel and entity are in the same package:
Points_ class:
package ...domain.points.model;
@StaticMetamodel(Points.class)
public class Points_ {
public static volatile SingularAttribute<Points, Date> createdOn;
....
}
Points class:
package ...domain.points.model;
@Entity
@Table(name = "POINTS")
public class Points extends AuditingEntity {
...
}
AuditingEntity class:
@Audited
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class AuditingEntity implements Serializable {
@CreatedDate
@Column(name = "CREATED_ON")
protected Date createdOn;
......
}