利用myeclipse 生成Hibernate Mapping文件时出现No entries available的解决办法
在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件和你匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件。
?在原有的工程中我配置好了这些,并且可以对数据表进行浏览和数据修改了,但是在执行GenerateHibernateMapping时,location项browser的时候,弹出窗口显示没有合适的Noentriesavailable,即没有办法选择工程文件包目录。
?折腾半天,网上一篇文章提醒了我,原来需要先为应用增加Hibernate特性。操作如下:
1.在项目上点击右键选择MyEclipse选项,为应用增加Hibernate特性.
2.在出现的配置窗口中,选中“AddHibernate2.1librariestoproject?”,然后设定存放Hibernate库文件的目录为:/WEB-INF/lib目录,默认会选择创建一个新的Hibernate配置文件hibernate.cfg.xml。
3.点击下一步,进入Hibernate数据库连接配置界面,在ConnectionProfile选项中直接选择在MyEclipseDatabaseExplorer中配置的vipdata选项,然后就会自动生成其他的配置,可以选择“CopyJDBCDriverandaddtoclasspath”,这样就会将JDBC驱动拷贝到WEB-INF/lib目录中。:
4.点击下一步,来创建Hibernate的SessionFactory类,这是一个简单的集中管理Hibernate会话的工厂类,填写类的全名称。
5.点击完成,然后MyEclipse就会将Hibernate相关的jar包拷贝到lib目录下,同时会生成Hibernate的配置文件:hibernate.cfg.xml,和SessionFactory类。
现在要利用MyEclipseDatabaseExplorer视图中的工具来生成Hibernate的映射文件。切换到MyEclipseDatabaseExplorer视图,在表vipdata上点击右键,选择CreateHibernateMapping.
6.配置生成的持久化类和映射文件。
7.点击Browse,选择生成的类和映射文件的包:com.xxx
8.IDGenerator算法选项,选择native。(还有很多其他的选项可选,根据应用的需要具体选择,好像hibernate映射的表必须有主健,否则无法利用hibernate技术)。
9.点击完成,这样会生成持久化类Vipdata和它的父类AbstractVipdata(生成父类,有利于日后应用的扩展,工具会自动生成详细的equals方法和hashCode方法)以及映射文件xxx.hbm.xml。同时会修改Hibernate的配置文件hibernate.cfg.xml,会增加一行.
到此,hibernatemapping文件生成结束。:)