下面列出了org.hibernate.criterion.Restrictions#between ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* 设置between(之间)查询条件
*
* @param keyname
* @param keyvalue1
* @param keyvalue2
*/
public void between(String keyname, Object keyvalue1, Object keyvalue2) {
Criterion c = null;// 写入between查询条件
if (!keyvalue1.equals(null) && !keyvalue2.equals(null)) {
c = Restrictions.between(keyname, keyvalue1, keyvalue2);
} else if (!keyvalue1.equals(null)) {
c = Restrictions.ge(keyname, keyvalue1);
} else if (!keyvalue2.equals(null)) {
c = Restrictions.le(keyname, keyvalue2);
}
criterionList.add(c);
}
/** {@inheritDoc} */
@Override
public Object visit(PropertyIsBetween filter, Object userData) {
String propertyName = getPropertyName(filter.getExpression());
String finalName = parsePropertyName(propertyName, userData);
Object lo = castLiteral(getLiteralValue(filter.getLowerBoundary()), propertyName);
Object hi = castLiteral(getLiteralValue(filter.getUpperBoundary()), propertyName);
return Restrictions.between(finalName, lo, hi);
}
/** {@inheritDoc} */
@Override
public Object visit(During during, Object userData) {
String propertyName = getPropertyName(during.getExpression1());
String finalName = parsePropertyName(propertyName, userData);
Object literal = getLiteralValue(during.getExpression2());
if (literal instanceof Period) {
Period p = (Period) literal;
Date begin = p.getBeginning().getPosition().getDate();
Date end = p.getEnding().getPosition().getDate();
return Restrictions.between(finalName, begin, end);
} else {
throw new UnsupportedOperationException("visit(Object userData)");
}
}
/**
* 设置between(之间)查询条件
*
* @param keyname
* @param keyvalue1
* @param keyvalue2
*/
public void between(String keyname, Object keyvalue1, Object keyvalue2) {
Criterion c = null;// 写入between查询条件
if (oConvertUtils.isNotEmpty(keyvalue1) && oConvertUtils.isNotEmpty(keyvalue2)) {
c = Restrictions.between(keyname, keyvalue1, keyvalue2);
} else if (oConvertUtils.isNotEmpty(keyvalue1)) {
c = Restrictions.ge(keyname, keyvalue1);
} else if (oConvertUtils.isNotEmpty(keyvalue2)) {
c = Restrictions.le(keyname, keyvalue2);
}
criterionList.add(c);
}
@Override
public Criterion getHibernateCriterion( QueryPath queryPath )
{
return Restrictions.between( queryPath.getPath(), args.get( 0 ), args.get( 1 ) );
}
@Override
public Criterion getFieldCriterion(String fullPropertyName) {
return Restrictions.between(fullPropertyName, searchDateStart, searchDateEnd);
}