`
lijiejava
  • 浏览: 259142 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

Hibernate 自定义Order

 
阅读更多
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.criterion.CriteriaQuery;
import org.hibernate.criterion.Order;

/**
 * Oracle数据库中文排序
 *   
 */
public class OracleOrder extends Order {

	private static final long serialVersionUID = -7866385945784052610L;

	private String propertyName;
	private boolean ascending;

	protected OracleOrder(String propertyName, boolean ascending) {
		super(propertyName, ascending);
		this.propertyName = propertyName;
		this.ascending = ascending;
	}

	/**
	 * 只考虑按一个字段排序的情况
	 */
	public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
			throws HibernateException {
		String[] columns = criteriaQuery.getColumnsUsingProjection(criteria,
				propertyName);
		return " nlssort(" + columns[0] + ",'NLS_SORT=SCHINESE_PINYIN_M') "
				+ (ascending ? "" : "desc");
	}

public static OracleOrder getOrder(String propertyName, boolean ascending) {
		return new OracleOrder(propertyName, ascending);
	}
}





 DetachedCriteria dc = DetachedCriteria.forClass(User.class);
dc.addOrder(OracleOrder.getOrder("username", true));
getHibernateTemplate().findByCriteria(dc, startRowIndex,maxCountPerset);


转自: http://www.oschina.net/code/snippet_176115_17508


public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { 
		String[] columns = criteriaQuery.getColumnsUsingProjection(criteria, propertyName);  
		return " decode("+columns[0]+",'',0,to_number("+columns[0]+")) ";  
	}  
分享到:
评论

相关推荐

    Hibernate教程

    6.2.3. 自定义值类型 6.3. SQL中引号包围的标识符 6.4. 其他元数据(Metadata) 6.4.1. 使用 XDoclet 标记 6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent ...

    Hibernate+中文文档

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated ...

    hibernate 教程

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

    hibernate3.2中文文档(chm格式)

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated ...

    HibernateAPI中文版.chm

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated ...

    Hibernate中文详细学习文档

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated ...

    最全Hibernate 参考文档

    5.2.3. 自定义值类型 5.3. SQL中引号包围的标识符 5.4. 其他元数据(Metadata) 5.4.1. 使用 XDoclet 标记 5.4.2. 使用 JDK 5.0 的注解(Annotation) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...

    Hibernate 中文 html 帮助文档

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties...

    hibernate 体系结构与配置 参考文档(html)

    自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated ...

    hibernate

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

    Hibernate3+中文参考文档

    5.2.3. 自定义值类型 5.3. SQL中引号包围的标识符 5.4. 其他元数据(Metadata) 5.4.1. 使用 XDoclet 标记 5.4.2. 使用 JDK 5.0 的注解(Annotation) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...

    hibernate3.04中文文档.chm

    6.2.3. 自定义值类型 6.3. SQL中引号包围的标识符 6.4. 其他元数据(Metadata) 6.4.1. 使用 XDoclet 标记 6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent ...

    hibernate 框架详解

    自定义值类型 6.3. SQL中引号包围的标识符 6.4. 其他元数据(Metadata) 6.4.1. 使用 XDoclet 标记 6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent ...

    Hibernate参考文档

    5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记 5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties...

    order-management-system:订单管理系统可帮助您管理实体的业务活动。 菜单是

    您可以使用本机sql脚本创建自定义仪表板。 所有实体的基本操作。概括屏幕截图入门(先决条件,安装) 运行测试部署方式建于你有什么问题吗? 贡献版本控制作者执照捐款屏幕截图 入门克隆或下载此项目的副本。 打开...

    cms后台管理

    Jeecms是基于Spring注解,在自定义标签时对于实体类和dao service等注意注解的问题。 五 自定义标签及使用自己创建的表的实现过程 下面是我自己定义的标签mycontent_list 首先,在数据库里创建了一个jc_...

    java面试题

    order by Collection和Collections的区别? 答:Collection是集合类的父类,继承它的主要由set和list Collections是针对集合类的帮助类,它提供了一系列针对集合的搜索,排序,线程安全化等操作。 final、finally...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    11.3.10 使用order by进行结果排序 473 11.3.11 JPQL查询的聚集函数 473 11.3.12 使用group by进行分组 474 11.3.13 结果集分页 475 11.3.14 使用子查询 475 11.3.15 命名查询 476 11.4 批量更新和批量删除 478 ...

    NHibernate参考文档 2.0.0 chm

    5.1.2. hibernate-mapping 5.1.3. class 5.1.4. id 5.1.4.1. (主键生成策略)generator 5.1.4.2. 高/低位算法(Hi/Lo Algorithm) 5.1.4.3. 唯一标识16进制算法(UUID Algorithm ) 5.1.4.4. 唯一标识字符串算法 ...

Global site tag (gtag.js) - Google Analytics