Hibernate数据库方言选择问题

2023-11-10 20:00

本文主要是介绍Hibernate数据库方言选择问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天准备使用Hibernate配置Oracle数据库进行分页查询,在配置数据库方言的过程中遇到了问题,我本机安装的Oracle数据库版本是11.2.0.1.0,也就是11g版本,但是选择对应的版本数据库方言时,很郁闷,竟然没有对应的方言,如下所示:

可以清楚的看到Hibernate提供的Oracle数据库方言,就是没有对应的11g版本,想了想配置MySQL数据库的时候配置的是MySQLDialect方言。

当时学习的时候没有怎么深究过Hibernate支持各种数据库方言,就是按照示例那样配置的,这一次我发现还有很多其他的MySQL方言,哎,还是学习的没有发散性。

看了这6个MySQL数据库方言,大概知道了Hibernat支持数据库方言和数据库版本和存储引擎有关系,于是在网上又是一顿搜索,大致明白了一些,自己又去翻了一下当时下载的hibernate-release-5.0.7.Final文档,找了其中有关MySQL数据库方言部分:

在IDEA可以清楚的分析类图:

一般选择最多的就是图中画出的部分,我现在使用MySQL数据库版本是5.5,更确切来说应该选择MySQL5Dialect数据库方言。

分清楚MySQL数据库方言后,我们回到Oracle数据库方言的选择问题,从Hibernate支持Oracle数据库方言的几个类中可以看出是和Oracle数据库版本有关系的。
再次查看文档,找出Oracle数据库部分:


使用IDEA分析类图:

在网上看到很多选择的都是OracleDialet,但是HIberdate5已经标注过时,Oracle11g版本选择应该是Oracle10gDialect方言了。


在网上找了一篇比较全的数据库方言
http://blog.csdn.net/jialinqiang/article/details/8679171
目前比较全的各数据库对应的方言(Dialect):


对于配置Hibernate支持数据库方言好处可以参考:
http://www.2cto.com/database/201402/281152.html

对于Hibernate5支持数据库方言就到这里,最后贴上文档中的描述:


又再次体会到看官方文档的好处,以后慢慢学习阅读各种文档!!!

这篇关于Hibernate数据库方言选择问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384926

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py