springcloud下hibernate本地化方言配置方式
springcloud下hibernate本地化方言配置
通過application.yml進(jìn)行配置,通過自定義一個(gè)方言類配置到application.yml中,
以mysql中convert為例,convert能夠?qū)h字以首字符方式進(jìn)行排序
ORDER BY convert(a.userName using 'gbk') DESC
如果是ssh看這里hibernate中HQL調(diào)用自定義函數(shù)
1、創(chuàng)建一個(gè)方言類
繼承org.hibernate.dialect.MySQL5Dialect
在com.muyunfei.hibernateDialect包下創(chuàng)建一個(gè)LocalMysqlDialect .java類,編寫無參構(gòu)造,繼承父類的構(gòu)造super(),增加registerFunction注冊(cè)一個(gè)函數(shù)
package com.muyunfei.hibernateDialect; import org.hibernate.dialect.function.SQLFunctionTemplate; import org.hibernate.type.StringType; public class LocalMysqlDialect extends org.hibernate.dialect.MySQL5Dialect { public LocalMysqlDialect(){ super(); registerFunction("convert", new SQLFunctionTemplate(StringType.INSTANCE, "convert(?1 using ?2)")); } }
2、更改配置文件
將自定義的方言類,配置到spring.jpa.properties.hibernate.dialect下
spring: jpa: show-sql: false properties: hibernate: jdbc: batch_size: 100 order_inserts: true order_updates: true dialect: com.muyunfei.hibernateDialect.LocalMysqlDialect
3、使用
將convert作為正常函數(shù)使用即可
hql.append(" ORDER BY convert(a.userName , gbk ) DESC ");
注意:
convert函數(shù)有點(diǎn)特殊,在方言里我們需要定義"convert(?1 using ?2)"),但是使用時(shí)需要convert(a.userName , gbk )
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一文搞懂Spring中@Autowired和@Resource的區(qū)別
@Autowired?和?@Resource?都是?Spring/Spring?Boot?項(xiàng)目中,用來進(jìn)行依賴注入的注解。它們都提供了將依賴對(duì)象注入到當(dāng)前對(duì)象的功能,但二者卻有眾多不同,并且這也是常見的面試題之一,所以我們今天就來盤它2022-08-08注意Java中?new?BigDecimal(double?val)?的使用
這篇文章主要介紹了注意Java中?new?BigDecimal(double?val)?的使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07Java并發(fā)編程之ConcurrentLinkedQueue源碼詳解
今天帶小伙伴們學(xué)習(xí)一下Java并發(fā)編程之Java ConcurrentLinkedQueue源碼,本篇文章詳細(xì)分析了ConcurrentLinkedQueue源碼,有代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助喲,需要的朋友可以參考下2021-05-05Spring?Security如何實(shí)現(xiàn)升級(jí)密碼加密方式詳解
這篇文章主要為大家介紹了Spring?Security實(shí)現(xiàn)升級(jí)密碼加密方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01關(guān)于idea2020.3升級(jí)lombok不能使用的問題
這篇文章主要介紹了關(guān)于idea2020.3升級(jí)lombok不能使用的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Spring事務(wù)失效場(chǎng)景的詳細(xì)整理
Spring 事務(wù)的傳播特性說的是,當(dāng)多個(gè)事務(wù)同時(shí)存在的時(shí)候,Spring 如何處理這些事務(wù)的特性,下面這篇文章主要給大家介紹了關(guān)于Spring事務(wù)失效場(chǎng)景的相關(guān)資料,需要的朋友可以參考下2022-02-02Java基于Javafaker生成測(cè)試數(shù)據(jù)
這篇文章主要介紹了Java基于Javafaker生成測(cè)試數(shù)據(jù)的方法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12