DAO 레이어에서 자주 사용하는 쿼리 방법
public List<ContentDocument> getList(Integer contentId, Integer docType, Integer count, boolean cacheable) {
String s = "select * from xh_contentdocument where content_id=:contentId ";
try {
if (docType != null) {
s = s + " and doc_type=:docType ";
}
s = s + " order by top_level desc ,priority asc";
Query query = getSession().createSQLQuery(s).addEntity(ContentDocument.class);
query.setInteger("contentId", contentId);
if (docType != null) {
query.setInteger("docType", docType);
}
if (count != null) {
query.setMaxResults(count);
}
query.setCacheable(cacheable);
return query.list();
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
String s = "select bean.channel_id,bean.source_name,bean.is_link,bean.subject from xh_channel_datasource bean ";
if(typeId!=null){
s = s +" where source_name=:source_name";
}
s = s+" order by channel_id asc ,priority desc";
try {
Query query = getSession().createSQLQuery(s).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
if(typeId!=null){
query.setString("source_name", typeId);
}
query.setCacheable(false);
return query.list();
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
Finder f = Finder.create("select bean from Channel bean");
f.append(" join bean.users user");
f.append(" where user.id=:userId and bean.parent.id=:parentId");
f.setParam("userId", userId).setParam("parentId", parentId);
if (hasContentOnly) {
f.append(" and bean.hasContent=true");
}
f.append(" order by bean.priority asc,bean.id asc");
return find(f);
String hql = "select count(*) from CmsSite bean"; return ((Number) getSession().createQuery(hql).setCacheable(cacheable).iterate().next()).intValue();
Finder f = Finder.create("delete CmsLog bean where 1=1"); if (category != null) { f.append(" and bean.category=:category"); f.setParam("category", category); } if (siteId != null) { f.append(" and bean.site.id=:siteId"); f.setParam("siteId", siteId); } if (before != null) { f.append(" and bean.time<=:before"); f.setParam("before", before); } Query q = f.createQuery(getSession()); return q.executeUpdate();
List<XmlBean> @SuppressWarnings("unchecked")
public List<CmsTopic> getListByChannelIds(Integer[] channelIds) {
String hql = "from CmsTopic bean where bean.channel.id in (:ids) order by bean.id asc";
return getSession().createQuery(hql).setParameterList("ids", channelIds).list();
}
update Status
public int clearCount(boolean week, boolean month) {
StringBuilder hql = new StringBuilder("update ContentCount bean");
hql.append(" set bean.viewsDay=0,commentsDay=0,upsDay=0");
if (week) {
hql.append(",bean.viewsWeek=0,commentsWeek=0,upsWeek=0");
}
if (month) {
hql.append(",bean.viewsMonth=0,commentsMonth=0,upsMonth=0");
}
return getSession().createQuery(hql.toString()).executeUpdate();
}
public void clear(Integer siteId, String channelUrl) {
StringBuilder sb = new StringBuilder(100);
Map<String, Object> params = new HashMap<String, Object>();
sb.append("delete from CmsAcquisitionTemp where site.id=:siteId");
params.put("siteId", siteId);
if (StringUtils.isNotBlank(channelUrl)) {
sb.append(" and channelUrl!=:channelUrl");
params.put("channelUrl", channelUrl);
}
Query query = getSession().createQuery(sb.toString());
for (Entry<String, Object> entry : params.entrySet()) {
query.setParameter(entry.getKey(), entry.getValue());
}
query.executeUpdate();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.