zoukankan      html  css  js  c++  java
  • clob型不能用 distinct,以及转换clob类型方法

    举例clob型不能用 distinct

    public List<WorkingPaper> findAssignedWorkPapers(String projectId,
    String auditedObjectId, String userId) {
    // String jpql = "SELECT distinct w FROM WorkingPaper w LEFT OUTER JOIN w.paperUsers AS u WHERE w.project.id = ? AND w.deleted = ? AND u.userType= ? ";
    //clob型不能用 distinct
    String jpql=" SELECT w FROM WorkingPaper w where w.id in (select distinct t.id FROM WorkingPaper t LEFT OUTER JOIN t.paperUsers AS u WHERE t.project.id = ? AND t.deleted = ? AND u.userType= ? ";
    List<Object> params = new ArrayList<Object>();
    params.add(projectId);
    params.add(Boolean.FALSE);
    params.add(UserType.PAPER_PRINCIPAL);
    StringBuilder sb = new StringBuilder(jpql);
    if (StringUtils.isNotBlank(auditedObjectId)) {
    sb.append("AND t.auditedUnitId = ? ");
    params.add(auditedObjectId);
    }
    if (StringUtils.isNotBlank(userId)) {
    sb.append("AND u.userId = ? ");
    params.add(userId);
    }
    sb.append(")");
    sb.append(" order by w.code");
    return this.find(sb.toString(), params.toArray());
    }

    解决存储字符不够,转换为clob格式SQL

    举例:

    --审计公示,解决审计公示内容存储字符不够
    --select * from IAM_AUDIT_PUBLICITY
    --第一步,将publicity_content重命名为publicity_content_bak
    alter table IAM_AUDIT_PUBLICITY rename column publicity_content to publicity_content_bak;
    --第二步,在表中新建clob属性列publicity_content
    alter table IAM_AUDIT_PUBLICITY add publicity_content clob;
    --第三部,将旧表中的数据拷贝到新表
    update IAM_AUDIT_PUBLICITY set publicity_content=publicity_content_bak;
    --第四部,删除备份列
    alter table IAM_AUDIT_PUBLICITY drop column publicity_content_bak;

  • 相关阅读:
    php json_decode无法处理解决方法
    jquery ajax怎么使用jsonp跨域访问
    jquery ajax怎么使用jsonp跨域访问
    查看xml源码的方法
    php array_push 与 $arr[]=$value 性能比较
    生成个性二维码方法
    PHP匿名函数的写法
    PHP rand和mt_rand 区别
    C++ 顺序表
    线索树的建立与遍历
  • 原文地址:https://www.cnblogs.com/caifenglin/p/6080942.html
Copyright © 2011-2022 走看看