hibernate tools自动生成entity代码

1、eclipse下载安装jboss tools插件

2、新建hibernate.cfg.xml

3、选择文件生成路径一般在 Project的配置文件存放地点resource。因为用maven创建所以放在src\main\resource下面

4、hibernate.cfg.xml 配置信息

sessonFactory 名字:oracle最好统一成 sessonFactory

控制台配置文件生成选项checkbox 打钩。oracle可以填写schema :数据库表空间来过滤表,sqlserver可以选择catalog来过滤。或者可以在生成的配置文件里面修改

5、console configuration配置文件生成

输入配置文件信息 :文件名

生成路径:在哪个项目下面

数据库连接:没有就新建

6、新建的数据库连接

驱动jar添加

点击ok 完成

7、选择hibernate.cfg.xml

8、ok以后的可以看见hibernate控制台配置信息

9、配置hibernate自动生成反向生成配置文件hibernate.reveng.xml 

10、新建配置文件

11、输入配置信息 :名字

      控制台配置文件:就是刚才生成的console configuration

      输出目录:生成的文件存放的 src目录

      

12、输入包名:生成文件到哪个包下面。

       hibernate.reveng.xml 控制台配置文件生成路径:仍然选择src\main\resources

13、生成以后可以选择要生成的表

14、完成以后画面

15、选择exporters tab标签选中 生成类型。选择要生成的文件

      可以选择domain code 和hibernate xml configuration因为使用了注解所以可以不用hbm.xml了

16、apply以后 点击run

17、如果表设计的时候带有前缀比如Tbl_Entity。参照http://blog.sina.com.cn/s/blog_49baa8c001015kgt.html

可以选择生成策略类来格式化要生成的类的名字字段。可能会遇到:

It is indirectly referenced from required .class file

原因:你正要使用的类调用了另一个类,而这个类又调用了其他类,这种关系可能会有好多层。而在这个调用的过程中,某个类所在的包的缺失就会造成以上那个错误。

解决方法:导入缺失的包

browse选择你写的策略类就可以了。期间可能要下载jar包

hibernate-tools包和hibernate-core包因为这个类用到了hibernate的东西。

[java] view
plain
copy

  1. import org.hibernate.cfg.reveng.DefaultReverseEngineeringStrategy;  
  2. import org.hibernate.cfg.reveng.ReverseEngineeringSettings;  
  3. import org.hibernate.cfg.reveng.ReverseEngineeringStrategy;  
  4. import org.hibernate.cfg.reveng.TableIdentifier;  
  5. import org.hibernate.util.StringHelper;  
  6.   
  7. public class CustomReverseEngineeringStrategy extends  
  8.         DefaultReverseEngineeringStrategy {  
  9.   
  10.     public CustomReverseEngineeringStrategy(ReverseEngineeringStrategy delegate) {  
  11.         super();  
  12.     }  
  13.      
  14.     public CustomReverseEngineeringStrategy(){  
  15.     }  
  16.   
  17.     private ReverseEngineeringSettings settings;  
  18.      
  19.     @Override  
  20.     public String tableToClassName(TableIdentifier table) {  
  21.         String tableName = table.getName();  
  22.         if (tableName != null && tableName.toUpperCase().startsWith("TBL_")) {  
  23.             String pkgName = settings.getDefaultPackageName();  
  24.             int lastIndex = tableName.indexOf("_");  
  25.             tableName = tableName.substring(lastIndex + 1);  
  26.   
  27.             String className = toUpperCamelCase(tableName);  
  28.   
  29.       //      if (pkgName.length() > 0)  
  30.       //          return StringHelper.qualify(pkgName, className);  
  31.             return className;  
  32.   
  33.         } else {  
  34.             return super.tableToClassName(table);  
  35.         }  
  36.     };  
  37.   
  38.     public void setSettings(ReverseEngineeringSettings settings) {  
  39.         super.setSettings(settings);  
  40.         this.settings = settings;  
  41.     }  
  42. }  

实际生成的代码到了src下面。没有指定到我要的包下,是因为我注释了上面2行代码。

时间: 2024-09-20 00:37:22

hibernate tools自动生成entity代码的相关文章

Entity Framework 自动生成CodeFirst代码

原文:Entity Framework 自动生成CodeFirst代码 前言 在前面的文章中我们提到Entity Framework的"Code First"模式也同样可以基于现有数据库进行开发.今天就让我们一起看一下使用Entity Framework Power Tools如何基于现有数据库生成数据类和数据库上下等. Entity Framework Power Tools 基于现有数据库生成POCO数据类和数据库上下文需要借助Visual Studio一个扩展插件-- Entit

自动生成代码-自动生成spring代码工具

问题描述 自动生成spring代码工具 有没有自动生成SPRING的代码工具? 能够自动生成pojo,dao,control,service, 我看到网上有个spring roo工具,但是感觉不好用. 解决方案 是自动生成Dao,Action,Service,Controller之类的吧? 解决方案二: 这种工具不知道有没有开源的,不过很多公司可能都有自己的一套. 我们公司也有,不过只有给你讲一下大概的思路. 该工具一般由以下几部分组成:读取数据库的数据表结构的功能,模板引擎(如:freemar

eclipse自动生成的代码有问题

问题描述 eclipse自动生成的代码有问题 在eclipse中,新建一个Android项目,之后自动生成的代码有好多问题,求解啊. 解决方案 Android Sdk版本的问题 选择新建最大最小兼容问题 解决方案二: eclipse自动生成client代码的问题eclipse中由代码自动生成UML图eclipse利用HibernateSynchronize自动生成代码 解决方案三: eclipse自动生成client代码的问题eclipse中由代码自动生成UML图eclipse利用Hiberna

《ANTLR 4权威指南》——第3章 入门的ANTLR项目 3.1 ANTLR工具、运行库以及自动生成的代码

第3章 入门的ANTLR项目 作为我们的第一个ANTLR项目,我们会构造一个语法,它是C语言或其继承者Java语法的一个很小的子集.具体来说,我们将识别包裹在花括号或者嵌套的花括号中的一些整数,像是{1, 2, 3}和{1, {2, 3}, 4}这样.这样的结构可以作为int数组或者C语言中的结构体的初始化语句.在很多情况下,针对这种语法的语法分析器都非常有用.例如,我们可以用它来构建一个对C语言的源代码进行重构的工具,这个工具能够完成这样的工作:如果初始化语句中所有的整数值都能用一个字节表示,

求一款自动生成java代码调用序列的eclipse插件

问题描述 求一款自动生成java代码调用序列的eclipse插件 我们知道java代码对于一个特定输入有一个调用序列,比如当前程序运行到A类,在A类中调用callB.b()进入B类,在B类中调用callC.c()进入C类等等. 有没有一款好的eclipse插件能够生成这种调用序列?

《ANTLR 4权威指南》——3.1节ANTLR工具、运行库以及自动生成的代码

3.1 ANTLR工具.运行库以及自动生成的代码 在开始前,我们先浏览一下ANTLR的jar包中的内容.在ANTLR的jar包中存在两个关键部分:ANTLR工具和ANTLR运行库(运行时语法分析)API.通常,当说到"对一个语法运行ANTLR"时,我们指的是运行ANTLR工具,即org.antlr.v4.Tool类来生成一些代码(语法分析器和词法分析器),它们能够识别使用这份语法代表的语言所写成的语句.词法分析器将输入的字符流分解为词法符号序列,然后将它们传递给能够进行语法检查的语法分

eclipse 编辑html页面,不知为何自动生成javascript代码,求解

问题描述 eclipse 编辑html页面,不知为何自动生成javascript代码,求解 是不是jsp配置的原因 解决方案 创建的时候把那些附加的选项都不要勾选,都去掉,创建一个空文档 解决方案二: 谢谢,已经解决了,原因是电脑中毒了. 解决方案三: - -...还以为你说的js代码跟你写的代码相关呢

.net能自动生成后台代码吗?

问题描述 如题!.NET能根据数据库中的数据表自动生成操作代码吗?比如增删改操作??怎样生成哪???多谢!!! 解决方案 解决方案二:是架构里面的...解决方案三:有这种需要??解决方案四:namespaceSystem.Web.Compilation{//Summary://Definesasetofpropertiesandmethodsforgeneratingsourcecodewithin//theASP.NETbuildenvironment.Thisclassisabstract.

eclipse上依据hibernate tools逆向生成PO(Domain Object)的过程

使用eclipse开发一个基于java的maven的web项目,业务逻辑基于spring实现,数据库服务器采用mysql.我们项目的业务逻辑(面向对象)和数据(关系型数据库)之间,依靠hibernate进行映射.对应.使用和处理.hibernate的核心功能之一,就是在面向对象和关系型数据库之间建立转化和映射,让程序员用面向对象的方式看待关系型数据库.(让数据库对程序员透明)开发过程中,为了保持二者的一致,需要进行Domain Object这种POJO的逆向生成.也就是依据mysql数据库中数据