古いHibernate(SessionFactory
beanを利用しています)で記述するクエリがあります。しかし、私はSpring Bootに移行し、JPA 2を利用しています。JPA 2は基本的にHibernate上の抽象レイヤーのようです。どのように制限を追加する方法について私を導く人はいますか? JPAにEntityManager
beanを使用する必要があると私は考えています。ここに古いクエリがあります。日付制約を含むJPA2を使用してEntityMangerを使用して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