1./** * 根据标签ID查询最新问题列表 *
@param labelId * @param pageable * @return */
@Query("select p from Problem p where id in( select problemid from Pl where labelid=?1 ) order by replytime desc") jpr动态语句
2.集合转数组:
壹、集合转数组用方法,比如:list.toArray(new String[list.size()]);
数组转集合方法: int[] arr={1,2,3} List list=arr.asList();
3. serializable作用:
继承了serializable 就是表示这个类可以序列化使用序列化保存数据比直接写在文件里更有安全性 而且读取的时候处理也简单还有一个更重要的用途就是在rmi和ejb使用的时候 作为参数传递的对象必须是serializable的.
4. /** * 动态获取标签值 *
@param label * @return */
public List<Label> getSearch(Label label) {
//拼接构造器的对象
Specification<Label> list= this.findSpecification(label);
return dao.findAll(list);}
private Specification<Label> findSpecification(Label label){
return new Specification<Label>() {
//root 根数据 query 构造查询语句 @Override public Predicate toPredicate(Root<Label> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
List<Predicate> lablelist=new ArrayList<>();
if(!StringUtils.isEmpty(label.getLabelname())){ lablelist.add(criteriaBuilder.like(root.get("labelname").as(String.class),"%"+label.getLabelname()+"%")); }
if(!StringUtils.isEmpty(label.getState())){ lablelist.add(criteriaBuilder.equal(root.get("state").as(String.class),label.getState())); } return criteriaBuilder.and(lablelist.toArray(new Predicate[lablelist.size()])); }; };}