EasyCriteria 是一个轻量级的框架用来创建和处理基于元数据、类型安全、可调式、可读和可维护的 JPA 2.0 查询。示例代码:
CriteriaComposer(Student.class).select(AggregateFunction.SUM,Student_.unit).groupBy(Student_.name);
EasyCriteria 1.0 新功能包括:
- Join with conditions
- Query Pagination
带条件的 JOIN 查询示例代码:
EntityManager em = emf.createEntityManager();
EasyCriteria<Person> easyCriteria = EasyCriteriaFactory.createQueryCriteria(em, Person.class);
easyCriteria.innerJoin("dogs", Dog.class);
easyCriteria.whereJoinEquals("dogs", "name", "Dark");
easyCriteria.whereJoinStringNotIn("dogs", "name", names); // names is a List<String>
easyCriteria.whereJoinStringLike("dogs", "name", "M%");
easyCriteria.whereJoinListIsEmpty("dogs", "cars");
easyCriteria.whereJoinAttributeIsNull("dogs", "nickName");
easyCriteria.whereJoinStringBetween("dogs", "name", "A", "L");
分页查询示例:
EasyCriteria<Dog> eascyCriteria = EasyCriteriaFactory.createQueryCriteria(getEntityManager(), Dog.class); eascyCriteria.setFirstResult(0); eascyCriteria.setMaxResults(5);
暂无更多评论