hibernate.dialect是干嘛用的?

 我来答
情感导师九九
高能答主

2020-02-03 · 人生如逆旅,你我亦行人!
情感导师九九
采纳数:370 获赞数:44432

向TA提问 私信TA
展开全部

为了更好适配各种关系数据库

dialect就是“方言”,因为hibernate是要把Java对象转换成关系数据库来描述的,而关系数据库虽然有一些统一的标准,如SQL-92等。

但是实际上各数据库如Oracle,MySQL,MS SQL Server等等为了提高性能或增加功能都提供了一些额外的标准或语法,因此,hibernate为了更好适配各种关系数据库,针对每种数据库都指定了一个方言dialect。


扩展资料:

hibernate核心接口:

1,Session接口:Session接口负责执行被持久化对象的CRUD操作,但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。

2,SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够。

3,Configuration类:Configuration类负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

4,Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码

5,Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语句或SQL语句两种表达方式。

mikemelon2012
推荐于2018-02-27 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:391万
展开全部
dialect就是“方言”,因为hibernate是要把Java对象转换成关系数据库来描述的,而关系数据库虽然有一些统一的标准,如SQL-92等,但是实际上各数据库如Oracle, MySQL, MS SQL Server等等为了提高性能或增加功能都提供了一些额外的标准或语法,因此,hibernate为了更好适配各种关系数据库,针对每种数据库都指定了一个方言dialect。
你可以看到hibernate里面实际上方言只是一个类,它里面将不同数据类型、SQL语法转换成hibernate能理解的统一的格式。但注意,如果没有对应的dialect,Hibernate是无法使用这种数据库进行对象关系转换的。
上次我用了个H2数据库,找到一个H2的dialect,就可以马上用起Hibernate了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
炫丽一生32
2012-09-21
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
dialect 指明hibernate连接的数据库方言 不同的数据库 方言在hibernate中是不一样的 连接数据库时必须对应的方言连接对应的数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ice_lucky29
2012-09-21
知道答主
回答量:21
采纳率:0%
帮助的人:8.2万
展开全部
说白了,就是告诉Hibernate,将你写的那些HQL、QBC、、、、等等。翻译成哪种数据库的SQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式