HibernateSynchronizer的作用是自动生成hibernate配置文件,即hibernate.cfg.xml文件,映射文件,Plain Object类文件和一些基础数据库操作文件。

安装HibernateSynchronize

http://www.binamics.com/hibernatesynch/plugins/com.hudson.hibernatesynchronizer_2.3.1.jar上下载com.hudson.hibernatesynchronizer_2.3.1.rar,解压缩后把com.hudson.hibernatesynchronizer_2.3.1文件夹拷贝到eclipseplugins目录下。注意文件夹下就包含plugin.xml等文件,不要下面还保留有一层文件夹。

另一种方法是通过eclipse自动安装。点击eclipse菜单栏中的“帮助”-〉“软件更新”-〉“查找并安装”。在打开的提示框中选择“搜索要安装的新功能部件”,然后点击“下一步”,点击“新建远程站点”。在出现的提示框中填入你自己想要显示的“名称”,如HibernateSynchronize,在“URL”栏中填入http://www.binamics.com/hibernatesync然后一直点击下一步,eclipse可以自己完成安装。

无论哪种方法,安装完后重起eclipse

使用HibernateSynchronize

首先生成hibernate的配置文件。右击项目内的任何文件或者文件夹,点击“新建”选项中的“其他”。在出现的提示框中与CVSJAVA一级应该多出一个Hibernate文件夹。如果没有的话,需要返回安装步骤,查看是否有什么问题,或者再尝试安装一遍。

选择其中的“Hibernate Configuration File”,点击“下一步”。这是出现一个提示框输入一些基本信息。“Container”是配置文件放置的目录;“File name”是配置文件的名称;“Session Factory Name”可以不填;“Database Type”中选择你所用的数据库类型,用于选择使用的Dialect;“Application Server”是应用程序服务器。这一项不是很全,不过不重新选择也没有关系。主要需要填写的信息是下面“Connection”的“Local”标签中的内容。

Driver Class”:点击“Browe”按钮,在选择条目中输入你的数据库驱动程序的类名,如mysqlDriver,在匹配的类型中选择该正确的类名,然后在限定符中选择驱动程序类所在的包,如com.mysql.jdbc。点击“确定”后即在Driver Class中显示驱动类的完整名称:com.mysql.jdbc.Driver。如果没有找到驱动类,需要确定你是否在项目中引入了驱动包。

Database URL”:输入数据库的地址。如:jdbc:mysql://localhost/hibernate_test,最后是数据库的名称。

Username”:数据库访问的用户名,mysql默认用户为root

Password”:数据库访问的密码。

点击“完成”即生成配置文件。

 

然后是生成映射文件。同样右击项目内的任何文件或者文件夹,点击“新建”选项中的“其他”。选择“Hibernate Mapping File”。参考生成配置文件的信息,填好password及其上面的项。点击“refresh“按钮,出现提示框选择数据库的驱动程序包。然后在Tables栏中会列出该库中的所有表。选择要生成映射文件的表,并在“Package”中输入或者输入类文件所在的包,注意这里不是映射文件所在的目录,而且不能是空包,也就是根目录下面。后面创建类文件时就会根据这个包自动将生成的文件放入相应的包中。点击“完成”。

映射文件不仅可以添加对应表的列,而且可以按照hibenate规则加入表之间的关系。新增映射文件之后,还会自动更新配置文件,加入映射文件信息。

 

生成类文件及基本的DAO文件。选中需要生成类文件的映射文件,即上一步生成的.hbm文件,可以同时选中多个映射文件。右击,选择“Hibernate Synchronizer”中的“Synchronize File”。这项操作同时会更新生成的配置文件,在其中添加映射文件信息。如果你修改了映射文件,需要更新类文件时,右击映射文件,选择“Hibernate Synchronizer”中的“Synchronize and Overwrite”,则自动更新类文件相关的地方。

 

例子用的这个工具是2版本的,使用它生成的文件,无论是方法还是引用的包都是使用hibernate2.jar的标准,比如net.sf……。所以如果要使用,需要把相关的路径改过来。路径还好处理,比较头疼的是生成的一些代码中引用的方法在hibernate3.jar中已经去除了,这样你必须自己实现那部分功能。还要注意配置文件中的一些设置,也有可能导致程序运行不了。