📄 order.java
字号:
//$Id: Order.java,v 1.2.2.2 2003/08/12 12:51:00 oneovthafew Exp $
package net.sf.hibernate.expression;
import java.util.HashMap;
import java.util.Map;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.engine.SessionFactoryImplementor;
/**
* Represents an order imposed upon a <tt>Criteria</tt> result set
* @author Gavin King
*/
public class Order {
private boolean ascending;
private String propertyName;
/**
* Constructor for Order.
*/
protected Order(String propertyName, boolean ascending) {
this.propertyName = propertyName;
this.ascending = ascending;
}
/**
* Render the SQL fragment
*
* @param sessionFactory
* @param persistentClass
* @param alias
* @return String
* @throws HibernateException
*/
public String toSqlString(SessionFactoryImplementor sessionFactory, Class persistentClass, String alias) throws HibernateException {
String[] columns = AbstractCriterion.getColumns(sessionFactory, persistentClass, propertyName, alias, EMPTY_MAP);
if (columns.length!=1) throw new HibernateException("Cannot order by multi-column property: " + propertyName);
return columns[0] + ( ascending ? " asc" : " desc" );
}
/**
* Ascending order
*
* @param propertyName
* @return Order
*/
public static Order asc(String propertyName) {
return new Order(propertyName, true);
}
/**
* Descending order
*
* @param propertyName
* @return Order
*/
public static Order desc(String propertyName) {
return new Order(propertyName, false);
}
private static final Map EMPTY_MAP = new HashMap();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -