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驱动了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)