我有一個查詢,我會寫在較舊的Hibernate中(利用SessionFactory
bean)。但是,我已經轉向Spring Boot,現在正在使用JPA 2,它本質上像是一個Hibernate的抽象層。任何人都可以指導我如何添加限制?我相信我現在必須在JPA中使用EntityManager
bean。這是舊的查詢。用EntityManger使用JPA2重寫Hibernate SessionFactory查詢,涉及日期限制
@Override
@SuppressWarnings("unchecked")
public List<Party> queryPartiesBetweenDates(Date startDate, Date endDate, String sortBy, Integer count) {
Criteria criteria = getCurrentSession().createCriteria(Party.class);
if (startDate != null) {
criteria.add(Restrictions.ge("startDate", startDate));
}
if (endDate != null) {
criteria.add(Restrictions.lt("endDate", endDate));
}
if (count != null) {
criteria.setMaxResults(count);
}
if (sortBy == null || !sortBy.equals("distance")) {
criteria.addOrder(Order.asc("startDate"));
}
return criteria.list();
}
謝謝!
這將有所幫助。 https://www.jumpingbean.co.za/blogs/jpa2-criteria-api – Jobin