`

criteria.addOrder(Order.asc("userName"));如何让其对汉语也管用

阅读更多

 

发现hibernate不支持mysql里按照中文字段排序

   criteria.addOrder(Order.asc("userName"));不管用

 

网上查了半天,也没有找到:

只有这个:详情参考:http://raywithu.iteye.com/blog/1139332

 

后来找到了我之前找到的答案:http://aubergine-kang.iteye.com/admin/blogs/1187725

 

后记:

今天又碰到了排序的问题,米有办法啦,只能再次调查,本来抱着试试看的心态发现

http://raywithu.iteye.com/blog/1139332

写的工具GBKOrder真的有用,感谢分享~

 

 

后记2:

碰到程序中使用query的session
    .createQuery(hql)

备注:hql和sql可是不一样的。那么解决方法:

http://hi.baidu.com/flora_ke/blog/item/41a51ecbee5bab4af21fe791.html

 

那么总结一下:

1.http://raywithu.iteye.com/blog/1139332里使用的是创建criteria

2.http://aubergine-kang.iteye.com/admin/blogs/1187725使用的是在hibernate使用sql语句(session.createSQLQuery(sql))

3. http://hi.baidu.com/flora_ke/blog/item/41a51ecbee5bab4af21fe791.html

在hibernate使用的是hql(session .createQuery(hql))

大家各取所需啊~

 

那么现在,在这个程序中三个都用到了:

第一个只需要在sql语句添加:“select *  from user  order by convert(name useing gbk)”即可;

第二个,需要写一个GbkOrder类添加到当前项目中,继承Order,并重写,在session.creatCriteria的时候:criteria.addOrder(GBKOrder.asc("name"));

第三个,需要写一个MySQL5LocalDialect 类添加到当前项目中,继承MySQL5Dialect ,并重写,在session.creatQuery的时候:“ from User order by convert(name,'GBK')”

 

转自:http://aubergine-kang.iteye.com/blog/1243564

 

分享到:
评论

相关推荐

    Hibernate中Criteria的完整用法

    criteria.addOrder(Order.asc("creationDate")); ``` 4. 使用投影进行聚合操作: ```java ProjectionList projections = Projections.projectionList(); projections.add(Projections.count("id"), ...

    Criteria用法详解

    criteria.addOrder(Order.asc("username")); ``` 6. **关联查询(Joins)** - `createCriteria()`方法可以用于创建子查询,处理多对一、一对多等关联关系。 ```java criteria.createCriteria("roles").add...

    Criteria(hibernate3.0).rar_Criteria java_criteria Hibernate_hibe

    criteria.addOrder(Order.asc("username")); ``` 分页查询则可以通过`setFirstResult(int firstResult)`和`setMaxResults(int maxResults)`实现。例如,获取第10到20条记录: ```java criteria.setFirstResult(10)...

    Hibernate的Criteria用法总结

    criteria.addOrder(Order.asc("creationDate")); ``` 4. **分组和聚合**: ```java criteria.setProjection(Projections.groupProperty("country")); criteria.setProjection(Projections.count("id")); ``` ...

    Hibernate_Criteria条件查询数据

    4. **排序**:使用`Criteria.setOrder()`或`Criteria.addOrder()`可以设置查询结果的排序方式,如升序(`Order.asc()`)和降序(`Order.desc()`)。例如,按照用户名降序排列: ```java Criteria crit = session....

    Criteria hibernate

    criteria.addOrder(Order.asc("username")); ``` 5. **分组(GroupBy)和聚合函数(Projections)** Criteria API也支持分组和聚合操作。通过调用setGroupBy()方法进行分组,使用Projections类的聚合函数,如...

    \Hibernate_query条件查询

    criteria.addOrder(Order.asc("name")); // 同上 ``` 7. **Join查询** Hibernate支持内连接、外连接等,例如: ```java // HQL query = session.createQuery("from User u join fetch u.addresses where u....

    hibernate的使用

    criteria.addOrder(Order.asc("id")); ``` 这段代码表示查询username为"admin"的User,并按照id升序排列。 3. 分页查询:使用setFirstResult(int firstResult)和setMaxResults(int maxResults)方法可以实现分页查询...

    JspWeb开发CRUD 操作

    criteria.addOrder(Order.asc("name")); criteria.setFirstResult(startIndex); criteria.setMaxResults(pageSize); List result = criteria.list(); // 关闭会话 session.close(); // 返回分页结果 return ...

    Hibernate 在查询操作中要使用分页+命名参数+排序技术

    criteria.addOrder(Order.asc("postTime")); List<Blog> blogs = session.createCriteria(Blog.class) .add(Subqueries.propertyIn("id", criteria)) .setFirstResult((pageNumber - 1) * pageSize) ....

    Hibernate 使用DetachedCriteria操作

    criteria.addOrder(Order.asc("createTime")); ``` 这个例子中,我们创建了一个针对`User`类的查询,筛选出username为"testUser"的用户,并按照`createTime`字段升序排列。 **5. DetachedCriteria 结合Session执行...

    Criteria使用方法

    - **设置排序**:通过`addOrder(Order.asc("field"))`或`addOrder(Order.desc("field"))`方法设置升序或降序排序。 - **设置联合查询的抓取模式**:使用`setFetchMode(String field, FetchMode mode)`设置联合查询的...

    QBC的使用全集大全

    3. **指定排序**:如果需要对结果进行排序,可以使用Criteria的addOrder(Order order)方法,Order接口提供了asc(升序)和desc(降序)方法。 4. **分页查询**:对于分页需求,我们可以使用Criteria的setFirstResult(int...

    基于spring+hibernate的组合查询+分页组件

    Order.asc(order.getProperty()) : Order.desc(order.getProperty())); } } return new PageImpl(c.list(), pageable, session.createCriteria(User.class).list().size()); } } ``` 在这个例子中,我们创建...

Global site tag (gtag.js) - Google Analytics