神通数据库适配 hibernate
国产化适配文档(神通)
环境:hibernate、spring、activiti等
maven 依赖
springboot集成神通数据库,但是maven库中是没有的,所以需要自己引入maven库中
# oscarJDBC16
mvn install:install-file -DgroupId=com.oscar -DartifactId=oscarJDBC16 -Dversion=1.0 -Dpackaging=jar -Dfile=F:\神通数据库\oscarJDBC16.jar# oscarHibernate5 (若该版本方言导致启动报错,使用版本4)
mvn install:install-file -DgroupId=com.oscar -DartifactId=oscarHibernate5 -Dversion=1.0 -Dpackaging=jar -Dfile=F:\神通数据库\oscarHibernate5.jar# oscarHibernate4
mvn install:install-file -DgroupId=com.oscar -DartifactId=oscarHibernate4 -Dversion=1.0 -Dpackaging=jar -Dfile=F:\神通数据库\oscarHibernate4.jar# activiti 修改源码 jar
-- 下载地址 :https://download.csdn.net/download/qq_35385687/74052485
mvn install:install-file -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=5.21.0 -Dpackaging=jar -Dfile=F:\神通数据库\activiti-engine-5.21.0.jar# -Dfile:jar包在硬盘上的位置
# -DgroupId, -DartifactId, -Dversion:三个参数,指定存放maven仓库中的位置(与引入依赖时的属性相对应,自定义);
# -Dpackaging :打包类型,例如JAR;
<dependency><groupId>com.oscar</groupId><artifactId>oscarJDBC16</artifactId><version>1.0</version></dependency><dependency><groupId>com.oscar</groupId><artifactId>oscarHibernate4</artifactId><version>1.0</version></dependency><!-- Activiti 修改源码的--><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>5.21.0</version></dependency>
jdbc.type=oscar#jdbc.type=oraclejdbc.driver=com.oscar.Driverjdbc.url=jdbc:oscar://10.39.65.177:2003/OSRDB?serverTimezone=UTC&useSSL=FALSEjdbc.username=xxxjdbc.password=xxxhibernate.dialect=org.hibernate.dialect.OscarDialect#hibernate.dialect=org.hibernate.dialect.OracleDialect#hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
sql
MySQL 使用反引号 ` 来引用系统标识符,这是绝对非数据库标准的。 神通不能使用此反引号
列名不区分大小写,字段值区分大小写
修改表语法
ALTER TABLE “ZBDB”.“TEST1206” ADD <列名> <类型>;
ALTER TABLE “ZBDB”.“TEST1206” DROP <列名> [ RESTRICT | CASCADE ];
ALTER TABLE “ZBDB”.“TEST1206” ALTER <列名> { SET DEFAULT <值> | DROP DEFAULT };
ALTER TABLE “ZBDB”.“TEST1206” ALTER <列名> { SET | DROP } NOT NULL;
ALTER TABLE “ZBDB”.“TEST1206” ALTER <列名> SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN };
ALTER TABLE “ZBDB”.“TEST1206” RENAME <列名> TO <新列名>;
ALTER TABLE “ZBDB”.“TEST1206” ADD <表约束>;
ALTER TABLE “ZBDB”.“TEST1206” DROP CONSTRAINT <约束名> [ RESTRICT | CASCADE ];
ALTER TABLE “ZBDB”.“TEST1206” OWNER TO <新所有者>;
- information_schema
查询表的列名(Column)和Schema下的表名
https://blog.csdn.net/huanloveqiang/article/details/118572167
1. TABLE_CAT:视图所在的 CATLOG 名称 (目前等于数据库名称)
2. TABLE_SCHEM:视图所在的模式名称
3. TABLE_NAME:视图名称
4. OWNER 所属用户-- mysql
select TABLE_NAME from information_schema.TABLES where table_name ='t_202112021' and table_schema = 'OSRDB';--查询表的列名
SELECT * FROM INFO_SCHEM.ALL_TAB_COLUMNS WHERE OWNER = 'ZBDB' and TABLE_NAME = 't_202112021'-- 查询所有表
SELECT * FROM INFO_SCHEM.ALL_TABLES WHERE OWNER = 'ZBDB' and table_name ='t_202112021'-- 查询Schema下的表名
SELECT * FROM INFO_SCHEM.TABLES where TABLE_Cat = 'OSRDB' and TABLE_SCHEM = 'ZBDB' and table_name ='t_202112021'-- 当前模式
SELECT CURRENT_SCHEMA();-- 当前数据库
select database()-- 查询主键 和 外键
SELECT * FROM INFO_SCHEM.ALL_CONSTRAINTS WHERE OWNER = 'ZBDB' and table_name ='t_202112021'
-- 或
SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM INFO_SCHEM.ALL_CONS_COLUMNS WHERE OWNER = 'ZBDB' and TABLE_NAME = 'ACCOUNT1'-- 删除外键ALTER TABLE "ZBDB"."T_202112021" DROP CONSTRAINT T_202112021_PK;
- 列注释
COMMENT 不支持, 我的做法是删除注释
datetime->timestamp without time zone
vchar->character varying
PRIMARY KEY ( id ) -> CONSTRAINT BA_RETREAT_PROCESS2_PK PRIMARY KEY (id)
int
神通数据库中整数类型包括 tinyint,smallint,integer,bigint,它们是不含小数部分的数字。
常用的整数类型是 integer,它提供了在范围,存储空间和性能之间的最佳平衡,一般只有在磁盘空间紧张的时候
才使用 smallint,而在 integer 的范围不够时才使用 bigint。bigint 类型依赖编译器对八字节整数的支持
因此有可能在不同机器上表现不同
- longText
CLOB 称为字符大对象,用于存储大数据量的字符数据,它们的最大容量均为 4G。
- 外键
示例:CONSTRAINT FK_P1VLHQTI844J2C74HM4WTIKRV FOREIGN KEY (STATUS) REFERENCES ZBDB.SYS_DICT(ID)
- ALTER TABLE “ZBDB”.“TEST1206” DROP <列名> [ RESTRICT | CASCADE ];
不支持 ALTER TABLE “ZBDB”.“TEST1206” DROP <列名>, <列名>… 语法
可使用循环替换该逻辑
项目
- No row with the given identifier exists
有两张表,a和b.产生此问题的原因就是a里做了关联或者(特殊的多对一映射,实际就是一对一)来关联b.
当hibernate查找的时候,b里的数据没有与a相匹配的,这样就会报No row with the given identifier exists这个错.(一句话,就是数据的问题!)
- object references an unsaved transient instance - save the transient instance before flushing: com.thinkgem.jeesite.modules.sys.entity.User
https://blog.csdn.net/dajiangqingzhou/article/details/78680980
https://www.jianshu.com/p/b87bb788bd92
- Could not auto-size column.Make sure the column was tracked prior to auto-sizing the column.
导出、导入Excel 文件
https://blog.csdn.net/u010953431/article/details/106391568/
[Druid-ConnectionPool-Destory-879682170] ERROR [com.alibaba.druid.pool.DruidDataSource] - abandon connection, open stackTrace
https://blog.csdn.net/weixin_34149796/article/details/92392092
- connection holder is null
https://blog.csdn.net/guanfengliang1988/article/details/80437699
神通数据库适配 hibernate相关推荐
- 若依springboot项目适配国产神通数据库
公司有一个监控平台,用的是若依,但是由于是给政府部门用的,需要部署在信创平台上,所以中间件用的是金蝶,数据库用的是神通,碰到的一些问题在此记录一下. 我遇到的总的问题就三个吧,一个maven中央仓库没 ...
- 操作 神通数据库_国产数据库最好的时代
全文约2580字,阅读约15分钟 近日,墨天轮发布了2020年新一期的国产数据库名单,东方国信完全自主研发的分布式分析型数据库CirroData名列其中. "墨天轮"是国内数据库领 ...
- linux服务器数据库和监听自启动,linux64的神通数据库安装与启动
目录 1. 安装包适配 2. 连接服务器 3. - 安装方式 - 自定义安装 - 静默方式安装 4. 启动数据库 1.安装包适配 安装包对应版本中标麒麟应该安装linux版本的神通数据库,飞腾的就安装 ...
- Mysql是国产化么_项目国产化,mysql替换为神通数据库记录
1.背景 项目中mysql数据库要替换成神通数据库:库中的表有部分是内置数据,即项目安装部署后库.表要已经创建完成,并且部分表里要有内置数据,项目启动要能根据实体类动态更新表结构(为了方便升级.运维) ...
- springboot JPA整合国产神通数据库(神州通用数据库)
当前国产软件比较流行,就最近做过的springboot +JPA+神通数据库的项目做下记录供有需要的同学参考. 神通数据库在springboot中的配置和大多关系型数据库基本一样的,只是由于驱动jar ...
- 数据库学习--Hibernate方言(是什么 为什么 怎么办)
原文地址:数据库学习–Hibernate方言(是什么 为什么 怎么办) 知识储备 HQL和SQL. 是什么 HQL : Hibernate Query Language,Hibernate查询语言 . ...
- redhat7.4安装神通数据库
由于国产化需求,现在好多软件项目需要替换成国产的软硬件,今天笔者接了个安装在浪潮SR550服务器-redhat7.4系统上安装神通数据库的需求.折腾了好久才装了上去.现在分享下安装的命令. 切换账号, ...
- 神通数据库打开服务_数据库周刊30丨数据安全法草案将亮相;2020数据库产业报告;云南电网上线达梦;达梦7误删Redo…...
摘要:墨天轮数据库周刊第30期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.本周分享 数据安全法草案将亮相:2020数据库产业报告:云南电网上线达梦:达梦7误删Redo Log:Or ...
- 使用DataGrip连接神通数据库
1.datagrip简介 DataGrip 出自JetBrains公司,是一款跨平台的数据库管理客户端工具,它的强大管理数据库驱动.添加数据库对应的jar包,配置数据库连接的信息,就可以连接到数据库服 ...
- 神通数据库安装及使用手册
0.说明 神通数据库可以使用图形化界面和静默安装两种方式.图形化安装方式这里就不介绍了,主要说明静默安装的方法. 静默安装使用root用户或者普通用户都可以,本文使用root用户安装. 1.安装软件 ...
最新文章
- 创建一个Scalar-valued Function函数来实现LastIndexOf
- deepin关机卡在图标界面 mysql Community...10min
- 【转】使用PHP计算上一个月的今天
- 尝试在wireshark中查找密码
- 书籍推荐:《More Effective C#》
- ncl 添加点shp文件_气象编程 | NCL高效快速精准提取不规则区域内的格点数据
- eventfd以及epoll原理分析
- ReadOnlyDictionary之应用场景
- Illustrator中文版教程,如何在 Illustrator 中为创建的图形添加颜色?
- 购物搜索引擎架构的变与不变
- 清华姚班和100个张小龙
- 洗地机之滚刷电机分析:关于电机转矩.功率.转速之间的关系及计算公式
- android 抓取解析systrace
- 利用函数求字符串长度
- php去除图片水印源代码,基于python的图片修复程序(实现水印去除)
- 微信公众帐号消息帐号
- PCB板区域裁剪及尺寸标注
- 办公技巧整合(不定时更新)
- RAM,SRAM,SDRAM工作原理(很长)
- 增强现实技术漫谈(续)——研究内容全面解析
热门文章
- 【HTML练习】登录注册界面模板1
- CISSP考试心得分享
- 计算机命令关闭445端口,关闭445端口命令是什么?设置关闭445端口的步骤教程
- 《Java编程规范学习笔记》
- 我的世界怎么在服务器中显示键位,我的世界基础键位操作介绍 | 我的世界 | MC世界侠...
- win10pe命令打开计算机,手把手教你如何制作win10PE启动盘
- c语言大作业:员工工资管理系统
- Palo Alto Networks 升级Traps高级终端防护产品 提升终端安全防护水平
- 2015061004 - slf4和mysql,jdbc下载地址
- [GPS模块]NEMA-0183(GPRMC GPGGA)数据格式详细解释