一般动作
Oracle数据库字符集为UTF-8时,默认的order by查出来的数据顺序不是按中文拼音来的,具体原因可以Google一下“oracle 字符集 排序”。
按照网络上的各种解决方案,如果需要按照中文排序,无非就是设置 NLS_SORT 参数,不论是session级别的、还是sql语句级别的、或者操作系统级别的。
Grails中的默认ORM框架是hibernate,因此可以进一步Google在Hibernate中的解决方案,以及Grails + Hibernate的解决方案,比如这篇帖子。
在Grails工程中安装了BroToolkit插件后,只需要在 DataSource 中配置一个定制的 HibernateConfiguration,就可以实现中文排序。
该配置同样可以支持通过外部properties文件加载,并可以支持多数据源,详细可参考安装后的 DataSource.groovy 和 DataSource.properties 模板文件。
此外,这个Hibernate配置类还可以支持设置Oracle数据库表空间、设置数据库连接池自增等。