问题
1 jpa specification 复杂查询,拼接group by 时,分页会触发select count (*),导致指定select * from table group by 字段,造成语法错误;
2 对于oracle number 类型,虽然JavaBean中定义啦 intege,但是单独查会造成无法转型bigdecimal错误
解决方法
1 用hibernate的entityManager 构建
private EntityManager entityManager
public List<ViewEmployeeBase> getCheckboxInfo(String evaluateYear) {
// criteriaBuilder用于构建CriteriaQuery的构建器对象
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
// criteriaQuery包含查询语句的各个部分,如where、max、sum、groupBy、orderBy等
CriteriaQuery<ViewEmployeeBase> criteriaQuery = criteriaBuilder.createQuery(ViewEmployeeBase.class);
// 获取查询实例的属性,select * from books
Root<ViewEmployeeBase> root = criteriaQuery.from(ViewEmployeeBase.class);
// 相当于select type,max(price) maxPrice,sum(price) sumPr