在sessionFactory中配置hibernate.dialect属性,以mysql为例,class设置为自定义的类,
<bean id="chartSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="chartDataSource" />
<property name="mappingLocations">
<list>
<value>classpath*:com/landray/kmss/hrt/chart/model/*.hbm.xml</value>
<value>classpath:com/landray/kmss/component/dbop/model/CompDbcp.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigPersonalInfo.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigTrainServer.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigTrainMain.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigTechnology.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigPolitics.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigFunction.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigEducation.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/config/model/HrtConfigNation.hbm.xml</value>
<value>classpath:com/landray/kmss/sys/organization/model/SysOrgPost.hbm.xml</value>
<value>classpath:com/landray/kmss/sys/organization/model/SysOrgGroupCate.hbm.xml</value>
<value>classpath:com/landray/kmss/sys/organization/model/SysOrgGroup.hbm.xml</value>
<value>classpath:com/landray/kmss/sys/organization/model/SysOrgElement.hbm.xml</value>
<value>classpath:com/landray/kmss/sys/organization/model/SysOrgPerson.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/course/scorm/model/HrtStudyCourse.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/course/scorm/model/HrtStudyCourseType.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/course/scorm/model/HrtCourseProperties.hbm.xml</value>
<value>classpath:com/landray/kmss/hrt/course/scorm/model/HrtStudyStudentCourse.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">com.landray.kmss.util.MySQLLocalDialect</prop>
<prop key="hibernate.show_sql">${chartDB.hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${chartDB.hibernate.format_sql}</prop>
<prop key="hibernate.jdbc.fetch_size">${chartDB.hibernate.jdbc.fetch_size}</prop>
<prop key="hibernate.jdbc.batch_size">${chartDB.hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
</props>
</property>
<property name="lobHandler" ref="defaultLobHandler2"></property>
</bean>
package com.landray.kmss.util;
import org.hibernate.dialect.function.SQLFunctionTemplate;
/**
* @author Zhangyanan
* 使mysql支持汉字排序
*/
public class MySQLLocalDialect extends org.hibernate.dialect.MySQL5Dialect {
public MySQLLocalDialect(){
super();
registerFunction("convert", new SQLFunctionTemplate(org.hibernate.Hibernate.STRING, "convert(?1 using ?2)") );
registerFunction("convert_gbk", new SQLFunctionTemplate(org.hibernate.Hibernate.STRING, "convert(?1 using gbk)") );
}
}
在hql中就可以使用 select u from User order by convert(personName,gbk)或者 select u from User order by convert_gbk(userName) 来实现按汉字拼音顺序排序了
分享到:
相关推荐
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of inheritance mappings) 16.1. 别名注射(alias injection names) 19.1. ...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. ...
但是这些SQL语句并不是直接传送给JDBC驱动的,而是 有着一个数据库方言层,经过方言层处理的SQL语句,就具备了在当前数据库上正确操作的能力。这相当于提供了一种能跨数据库操作的SQL语言。(E-SQL) E-SQL不但解决了...
SQL Dialects SQL 方言 3.5.2. 外连接抓取(Outer Join Fetching ) 3.5.3. 二进制流 3.5.4. 自定义CacheProvider 3.5.5. 事务策略配置 3.5.6. 绑定SessionFactory到JNDI 3.5.7. 查询语言替换 ...
4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. 对象/...
4.1.1. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 4.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.3. 提供一个标识属性(identifier property)(可选) 4.1.4. 使用非final...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
5.1.1. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 5.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 5.1.3. 提供一个标识属性(identifier property)(可选) 5.1.4. 使用非...
SQL Dialects SQL 方言 3.5.2. 外连接抓取(Outer Join Fetching ) 3.5.3. 二进制流 3.5.4. 自定义CacheProvider 3.5.5. 事务策略配置 3.5.6. 绑定SessionFactory到JNDI 3.5.7. 查询语言替换 ...
5.1.1. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 5.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 5.1.3. 提供一个标识属性(identifier property)(可选) 5.1.4. 使用非...
4.1.1. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 4.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.3. 提供一个标识属性(identifier property)(可选) 4.1.4. 使用非final...
4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. 对象/...
为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 5.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 5.1.3. 提供一个标识属性(identifier property)(可选) 5.1.4. 使用非final的类...
5、跨数据库函数方言替换,如:isnull/ifnull/nvl、substr/substring 等不同数据库。 sqltoy-orm特点: 1、最优雅直观的sql编写模式 2、天然防止sql注入,执行过程 3、最强大的分页查询 4、最巧妙的缓存应用,将多表...
4.1.1. 为持久化成员变量声明读写属性 4.1.2. 实现一个默认的构造器(constructor) 4.1.3. 提供一个标识属性(identifier property)(可选) 4.1.4. 使用非不可继承的(non-sealed)类以及虚方法(virtual methods...
4.1.1. 为持久化成员变量声明读写属性 4.1.2. 实现一个默认的构造器(constructor) 4.1.3. 提供一个标识属性(identifier property)(可选) 4.1.4. 使用非不可继承的(non-sealed)类以及虚方法(virtual methods...