JPA and ( or )


Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, Integer.valueOf(reportYear));
Date yearFirst = calendar.getTime();
Calendar calendar0 = Calendar.getInstance();
calendar0.clear();
calendar0.set(Calendar.YEAR, Integer.valueOf(reportYear)+1);
Date yearEnd = calendar0.getTime();

//重点
predicates.add(
        cb.or(
                cb.between(root.get("flowEndTime"),yearFirst,yearEnd),
                cb.greaterThanOrEqualTo(root.join("closeReport", JoinType.LEFT).get("flowEndTime"),yearFirst)
         )
 );
                                 

where project0_.flow_status = ?
and (project0_.flow_end_time between ? and ? or projectclo3_.flow_end_time >= ?)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM