countprojection.java

来自「一个Java持久层类库」· Java 代码 · 共 52 行

JAVA
52
字号
//$Id: CountProjection.java 9913 2006-05-09 07:40:11Z max.andersen@jboss.com $package org.hibernate.criterion;import org.hibernate.Criteria;import org.hibernate.Hibernate;import org.hibernate.HibernateException;import org.hibernate.type.Type;/** * A count * @author Gavin King */public class CountProjection extends AggregateProjection {	private boolean distinct;	protected CountProjection(String prop) {		super("count", prop);	}	public String toString() {		if(distinct) {			return "distinct " + super.toString();		} else {			return super.toString();		}	}	public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) 	throws HibernateException {		return new Type[] { Hibernate.INTEGER };	}	public String toSqlString(Criteria criteria, int position, CriteriaQuery criteriaQuery) 	throws HibernateException {		StringBuffer buf = new StringBuffer();		buf.append("count(");		if (distinct) buf.append("distinct ");		return buf.append( criteriaQuery.getColumn(criteria, propertyName) )			.append(") as y")			.append(position)			.append('_')			.toString();	}		public CountProjection setDistinct() {		distinct = true;		return this;	}	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?