1.安装hibernate tools
在 help --> Eclipse Marketplace 中搜索 hibernate, 找到 jboss tools , 点击 install, 选择 hibernate tools , 其他的不装, 按照步骤安装即可
2.使用 Database Development 创建数据库连接
这个应该很简单, 选择要连接的数据库类型, 输入url,用户名和密码即可
3.在hibernate视图窗口中创建配置文件
点击 + 号, 或者右键空白区域, 点击 Add Configuration
如果后面生成时报错, 可能是 hibernate version 太高, 选个低的就可以了
点击 OK 后
选择 HIbernate Code Generation,
注意: 上图右边的 Catalog 表示的是对应的数据库名, 最好设置为空, 因为有可能换环境之后数据库名称不一样, hibernate.reveng.xml 是可以修改的, 可以添加或删除表, 重新生成对应实体
如果表设计的时候带有前缀比如Tbl_Entity, 可以自己写一个策略类, 来生成类名
可以选择生成策略类来格式化要生成的类的名字字段。可能会遇到:
It is indirectly referenced from required .class file
原因:你正要使用的类调用了另一个类,而这个类又调用了其他类,这种关系可能会有好多层。而在这个调用的过程中,某个类所在的包的缺失就会造成以上那个错误。
解决方法:导入缺失的包
browse选择你写的策略类就可以了。
期间可能要下载jar包
hibernate-tools包和hibernate-core包因为这个类用到了hibernate的东西。
- import org.hibernate.cfg.reveng.DefaultReverseEngineeringStrategy;
- import org.hibernate.cfg.reveng.ReverseEngineeringSettings;
- import org.hibernate.cfg.reveng.ReverseEngineeringStrategy;
- import org.hibernate.cfg.reveng.TableIdentifier;
- import org.hibernate.util.StringHelper;
- public class CustomReverseEngineeringStrategy extends
- DefaultReverseEngineeringStrategy {
- public CustomReverseEngineeringStrategy(ReverseEngineeringStrategy delegate) {
- super();
- }
- public CustomReverseEngineeringStrategy(){
- }
- private ReverseEngineeringSettings settings;
- @Override
- public String tableToClassName(TableIdentifier table) {
- String tableName = table.getName();
- if (tableName != null && tableName.toUpperCase().startsWith("TBL_")) {
- String pkgName = settings.getDefaultPackageName();
- int lastIndex = tableName.indexOf("_");
- tableName = tableName.substring(lastIndex + 1);
- String className = toUpperCamelCase(tableName);
- // if (pkgName.length() > 0)
- // return StringHelper.qualify(pkgName, className);
- return className;
- } else {
- return super.tableToClassName(table);
- }
- };
- public void setSettings(ReverseEngineeringSettings settings) {
- super.setSettings(settings);
- this.settings = settings;
- }
- }
下载hibernate-tools的源码, 修改DefaultReverseEngineeringStrategy类中相关的方法,类似上面, 然后将该类编译后的class文件打包到eclipse的hibernate-tools插件的jar包中
一般的位置为:
plugins\org.jboss.tools.hibernate.runtime.v_4_0_5.0.1.Final-v20160331-1852-B88\lib, 也可以直接在 eclipse 中搜索 hibernate-toos