版本说明spring版本4.3.7hibernate版本:5.1.17 Final达梦数据库版本:DM Database Server 64 V8pom文件引入达梦数据库驱动!-- 达梦数据库驱动 --dependencygroupIdcom.dameng/groupIdartifactIdDmJdbcDriver18/artifactIdversion8.1.2.192/version/dependencydependencygroupIdcom.dameng/groupIdartifactIdDmDialect-for-hibernate5.0/artifactIdversion8.1.2.192/version/dependency对应jarDmJdbcDriver18-8.1.2.192.jarDmDialect-for-hibernate5.0-8.1.2.192.jar配置达梦数据库连接cytjdb.driverClassNamedm.jdbc.driver.DmDriver cytjdb.urljdbc:dm://192.168.xx.xxx:5236?schemaBBP402CYTJDEV41 cytjdb.usernameBBP402CYTJDEV41 cytjdb.passwordxxxx cytjdb.dialectorg.hibernate.dialect.DmDialect cytjdb.validationQuerySELECT x FROM DUAL程序之前用的oracle19C,之前语法有 select A as name的语法在oralce下统一返回大写NAME但是转为达梦数据库后发现select A as name 结果也返回小写的name了需要改为select A as NAME ,才会返回大写整个系统很多地方都是写的小写的字段名这样改造工作量很大,下面记录下全局修改的方式重写hibernate方言转换字段大小写(代码层面实现)MyDmUpperCaseDialect.javapackageorg.hibernate.dialect;importorg.hibernate.type.StringType;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Types;/** * description: 自定义达梦方言强制将 ResultSet 中的列别名转为大写 * date: 2026/2/6 * author: gaom * version: 1.0 */publicclassMyDmUpperCaseDialectextendsDmDialect{publicMyDmUpperCaseDialect(){super();// 如果有特殊类型映射可在此注册registerHibernateType(Types.OTHER,StringType.INSTANCE.getName());}OverridepublicColumnAliasExtractorgetColumnAliasExtractor(){returnUpperCaseColumnAliasExtractor.INSTANCE;}privatestaticclassUpperCaseColumnAliasExtractorimplementsColumnAliasExtractor{publicstaticfinalUpperCaseColumnAliasExtractorINSTANCEnewUpperCaseColumnAliasExtractor();OverridepublicStringextractColumnAlias(ResultSetMetaDataresultSetMetaData,intcolumn)throwsSQLException{// 获取列标签通常是别名并转为大写StringlabelresultSetMetaData.getColumnLabel(column);returnlabel!null?label.toUpperCase():;}}}修改配置文件使用重写的方言# 方言 cytjdb.dialectorg.hibernate.dialect.MyDmUpperCaseDialect修改后重启项目测试全返回大写属性了
企业数字化 ERP 产品动态
相关推荐
mRemoteNG 面板(Panels)完整指南:标签页工作区组织、创建与管理 桌面应用网络 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_mirrors/mr/mRemoteNG 点击查看 免费下载 mRemoteNG 依靠标签页&am… · 2026/9/24 21:23:53
WorkBuddy入门:Linux下构建可维护的数字工作流 1. WorkBuddy 是什么:一个被严重低估的“数字工作伙伴”定位WorkBuddy 这个名字听起来像某个轻量级办公小工具,但实际接触过的人很快会意识到——它根本不是“又一个AI助手”,而是一套面向真实工作流重构的操作系统级工作台。我第一次在跨境电… · 2026/9/24 21:23:53
向量化逻辑回归实战:用NumPy矩阵运算替代循环训练 如果你已经跟我追到这个系列的第二周第六篇,那说明前面的功课做得不错。二分类、逻辑回归、损失函数、梯度下降这些概念,这时候应该已经形成一个比较完整的闭环了。很多人学到这一带会有个共同的感觉:原理都看懂了,公式也能推&… · 2026/9/24 21:23:53
深度学习新闻分类推荐系统:从TextCNN到个性化推荐 简介:这份基于深度学习的新闻分类推荐系统Python实现源码,是专为课程设计与期末大作业准备的高分项目,下载后无需修改即可运行,适用于需要快速交付完整课题的高校学生。系统涵盖新闻数据预处理、文本分类模型训练、推荐逻辑展示等… · 2026/9/24 23:59:53
汽车电子底层软件开发:AUTOSAR与CAN总线实战解析 1. 这门“汽车电子底层软件开发就业课”到底在教什么?——不是写个LED闪烁就能上岗的很多人看到“汽车电子底层软件开发就业课”这个标题,第一反应是:不就是嵌入式C语言单片机CAN通信?刷几道LeetCode、调通一个STM32 CAN收发例程&… · 2026/9/24 23:59:53
Vim基础操作全攻略:保存退出、模式切换与高频命令实战 1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保… · 2026/9/24 23:59:53
Python+CNN车牌识别实战:从数据预处理到模型训练与部署 简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据… · 2026/9/24 23:59:53
AI元人文:从工具使用到思维重构的深度探索 最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决… · 2026/9/24 23:59:53