一.hibernate synchronizer安装:
1.本地安装:
将hibernate synchronizer下载下来后,将hibernate synchronizer/eclipse/plugs in下的com.hudson.hibernatesynchronizer_3.1.1复制到eclipse安装目录下的plugins目录下。
2.连网安装:
在eclipse下,选择help->installer newsoftware->add,输入网址http://hibernatesynch.sourceforge.net以及名字,然后一路点击next,自动安装。
安装成功后,在项目上点击右键,new->other中出现hibernate选项。
二.使用
首先将hibernate下的hibernate3.jar和lib文件夹下的所有jar文件拷入项目的lib文件夹中,然后将访问sql server数据库的三个包拷入lib中。最后将hibernate下的etc文件夹中的log4j.properties放入项目的build->classes文件夹中。
然后,项目上右键,选择new->other->hibernate->Hibernate configuration file,设置好路径(最好在src目录下),填好需要的,比如驱动名、数据库类型、用户名、密码等等。这样就生成了hibernate.cfg.xml。
然后,项目上右键,选择new->other->hibernate->Hibernate mapping file,然后填入密码,refresh后,就可以看到这个数据库中的各个表。然后填入路径,点击property让其中的ID Generator的值为identity(这是主键的增长方式)。一定要让数据库主键与这个要匹配,也为identity。(这个为sql server数据库,其他按情况定,好像My SQL是native)
最后,在生成的User1.hbm.xml上点右键,选择hibernate synchronizer->Add mapping reference,选择hibernate synchronizer->synchronizer files。
在user1DAO.java中输入:
成功插入
三.遇到的问题及解决
1.cannot find entity user1
解决办法:
在生成的User1.hbm.xml上点右键,选择hibernate synchronizer->Add mapping reference
2.将user1.hbm.xml mapping到hibernate.cfg.xml中后,hibernate报错,说找不到param以及格式错误
解决办法:
这是synchronizer自己的bug,hibernate.cfg.xml少了下面这个,将它加入hibernate.cfg.xml中
3.说user1.hbm.xml not match(****)
解决办法:打开user1.hbm.xml ,看一下name=Id的那个数据表中的列是否未设为主键。一种可以将它设置为主键,而是将它的名字改为非Id。