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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM