Hibernate是做什么用的框架?

Hibernate是做什么用的框架?,第1张

简单的说 它就是用来 *** 作数据库,通过配置文件把数据库的表映射成对象,甚至是关系,父子类都可以映射。它是一个完全面向对象的框架,对jdbc进行了高级封装的。

1) 导入jar:hibernate_lib。

2) 导入核心配置文件:hibernate.cfg.xml,连接到数据库。

3) 创建Po类以及修改orm映射文件把orm映射文件,加载到hibernate.cfg.xml中。

4) 使用hibernate的Api *** 作。

我觉得是出在 employee2和 employee3 上

第一个保存成功后, employee2已经进入session管理, 而 employee3还是游离态。

employer1此时再插入的时候,employee2其实已经被保存了,和真实数据库数据状态不同步。导致出错。

解决方法,要不然是分别保存。

如果非要这么做, 应该将employee2重新取回,然后使用MERGE 策略。

我的理解是jdbc(Java Database Connectivity)是一套通用的接口API定义,也就是说它规定了我们对数据库进行select、insert等 *** 作的时候应该调用哪个api。但是针对不同的特定数据库,需要具体去实现这套接口从而和具体的数据库系统对接(mysql,orcle等等),而这些针对具体数据库的jdbc接口实现就是某种特定数据库的jdbc驱动。

至于Hibernate,它实际上底下仍然是使用jdbc的api,通过各种sql语句进行数据库 *** 作。比如你让一个类的对象存到数据库中,实际上hibernate底下还是用了insert语句,只是它包装的让你看不到实际的sql语句 *** 作而已。而这个时候,因为hibernate只是面向jdbc的api进行编写的,至于怎么让jdbc的api能够实际的对某种数据库进行 *** 作,就需要jdbc的驱动了。

简单说,就是hibernate底下是直接使用jdbc的api接口进行的编程,然后 *** 作具体的某种数据库时候,jdbc的api接口需要针对这个具体数据库系统的实现,即特定的jdbc驱动了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6668031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存