`
Kenny.Lee
  • 浏览: 515039 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

eclipse利用Hibernate Tools生成Hibernate Mapping文件及PO类

阅读更多

俗话说得不错,“变化总比计划快”。在项目,在我们这些程序员当中也是常常会遇到的问题。因为就算需求调研得再详细,往往一定还会修改的。为了适应变化,构造易维护易扩展的项目往往是我们的目标之一。

 

在使用数据库时,相信很多程序员会有我一样的烦恼。就是数据库发生变化时,项目中的hibernate配置的连锁反应,mapping映射需要修改,PO类需要更改等。使用JBossTools中的Hibernate Tools,将为我们解决这一大难题。

一、开发环境

JBoss Tools下载

http://www.jboss.org/tools/download.html

 

在这里,我是选择在线安装的方式。并且eclipse版本为3.6.2,所以我的选择是:http://www.jboss.org/tools/download/installation/update_3_2.html

 

(题外:安装完之后,你会发现eclipse的性能大增。除了html、JSP等编辑器外,还有诸多J2EE插件)

 

二、配置hibernate configurations

1.打开控件窗口

点击 window - open view - other

 

在hibernate文件夹下打开hibernate configurations

2.add configuration

配置数据库连接资源

 


图中的MySQL是我之前所创建的数据库连接,若之前没配置的话可以点击New,然后配置数据库连接。

 

查看数据库,测试是否正常。

 


三、Hibernate代码生成器

1. 增加Hibernate Code Generation按钮

点击 window - customize perspective


2.点击Hibernate Code Generation configuration


 

3.创建,管理代码生成配置


 

  • console configuration:选择在第二点中我们创建的数据库连接。
  • output directory:配置执行后输出的目录,生成hbm、PO类等。
  • package:包名,这里请输入PO类存放的路径。
  • reveng.xml:生成mapping和PO类的重要配置文件。
reveng.xml若没生成可以在这里创建。

3.hibernate.reveng.xml

reveng.xml文件,让我们可以控制插件生成后的hbm和PO类的各种属性。

 

以下是参考:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >

<hibernate-reverse-engineering>
	<type-mapping>
		<sql-type jdbc-type="VARCHAR" length="1" hibernate-type="yes_no" />
		<sql-type jdbc-type="VARCHAR" length="21" not-null="false"
			hibernate-type="cn.com.timekey.drugmonitor.po.type.RoleEnumType" />
		<sql-type jdbc-type="VARCHAR" length="15" not-null="false"
			hibernate-type="cn.com.timekey.drugmonitor.po.type.PrescriptionTypeEnumType" />
	</type-mapping>
	<!-- BIN$ is recycle bin tables in Oracle -->
	<table-filter match-name="BIN$.*" exclude="true" />
	
	<table-filter match-catalog="cmm" match-name=".*" />

	<!-- table allows you to override/define how reverse engineering is done 
		for a specific table -->
	<table name="user" catalog="cmm">
		<primary-key>
			<generator class="uuid.hex" />
			<key-column name="ID" />
		</primary-key>
	</table>
</hibernate-reverse-engineering>
 

 

 

1.通过type-mapping代码块,我们可以自由的映射出数据库字段和hibernate中的对应字段。

 

 

<sql-type jdbc-type="VARCHAR" length="1" hibernate-type="yes_no" />
 

意思是:把数据库中VARCHAR类型并且长度为1的字段,映射成PO类的boolean属性。

 

 

<sql-type jdbc-type="VARCHAR" length="21" not-null="false"
			hibernate-type="cn.com.timekey.drugmonitor.po.type.RoleEnumType" />

 

同理,这里的意思是:把数据库中VARCHAR类型,长度为21的字段映射成我自定义的hibernate类型。

 

2.通过table-filter代码块,我们可以过滤及指定脚本的目标table。

 

 

<table-filter match-catalog="cmm" match-name=".*" />
 

意思是:cmm数据库下的所有表。

 

有些情况下,我们脚本执行的并非全部表,这里恰好可以轻松帮我们达到这个目的。

 

3.table代码块,提供给我们用来覆盖生成的mapping配置。

 

	<table name="user" catalog="cmm">
		<primary-key>
			<generator class="uuid.hex" />
			<key-column name="ID" />
		</primary-key>
	</table>
 

 

这里相信大家应该比较容易猜到了,是起到指定user表中的主键生成规则为uuid.hex。

 

4.自定义外键配置

 

 

		<foreign-key constraint-name="prescription_drug_ibfk_3">
			<column-ref local-column="DRUG_ID" />
			<many-to-one property="drug" cascade="save-update" />
		</foreign-key>

 

 

同样在<table>代码块内。

constraint-name:约束名,要对应外键的约束名字。

column-ref:配置外键字段名。

many-to-one:配置外键参数,包括属性名等,例中是添加cascade的级别为save-update。默认为空,即none。

 

 

更多的reveng.xml说明可参考:http://docs.jboss.org/tools/3.2.0.GA/en/hibernatetools/html_single/index.html#hibernaterevengxmlfile

 

4.选择导出的文件


在这里我是选择生成mapping的 hbm映射文件及PO类。DAO类一般会用自己的,并且很多时候都是与spring集成的环境下,所以作用不大。cfg.xml文件其实也有点用,导入hbm.xml映射文件的时候,可以参考此文件来拷贝了。

 

5.运行配置文件

这一切都OK之后,按下RUN键,即可生成我们想要的mapping映射文件及PO类了。

 

 

后记

生成的PO类并没有生成序列号是我比较纠结的,但从开发者的角度来看,这个也是可以理解。

  • 大小: 51 KB
  • 大小: 15.3 KB
  • 大小: 56.9 KB
  • 大小: 18.9 KB
  • 大小: 65 KB
  • 大小: 30.7 KB
4
3
分享到:
评论

相关推荐

    eclipse 配置 hibernate tools 反向生成 pojo类 注解

    本文将详细讲解如何在Eclipse中配置Hibernate Tools以实现注解方式的POJO类生成。 首先,你需要确保已经安装了Hibernate Tools插件。如果尚未安装,可以通过以下步骤进行: 1. 打开Eclipse,进入“Help”菜单,...

    Eclipse 配置Hibernate3 插件,生成mapping 和java

    本文主要介绍如何在 Eclipse IDE 中配置 Hibernate3 插件,并利用该插件自动生成数据库映射文件(Mapping)及对应的 Java 实体类。通过这一过程,可以显著提高开发效率并减少手动编写代码的工作量。 #### 二、准备...

    eclipse hibernate 反向生成带注解的实体类-步骤说明--详细

    为了能够利用Eclipse来生成Hibernate相关的实体类,我们需要先安装Hibernate Tools插件: 1. **确定Eclipse版本**: - 打开 **Help** &gt; **About Eclipse** 查看当前Eclipse的版本号。 2. **下载对应版本的...

    离线与联网在Eclipse中安装Hibernate Tools

    在 Eclipse 中安装 Hibernate Tools 是一种非常有用的插件,该插件可以帮助我们简化 Hibernate 的开发过程,提供了一些项目向导、mapping 文件、annotation 和 JPA 等功能。下面我们将详细介绍如何在 Eclipse 中安装...

    如何使用Hibernate Tools生成Entity Bean

    如果你需要,可以使用DDL(数据定义语言)生成器从数据库模式创建HBM(Hibernate Mapping)文件。 3. **逆向工程**:在IDE的“Hibernate”菜单中,选择“Reverse Engineering”选项。在这里,你需要选择你的...

    Eclipse下配置和使用Hibernate_Tools

    Hibernate Tools 是一个基于 Eclipse 的插件,旨在提供了一种简洁的方式来生成 POJO(Plain Old Java Object)文件。 一、安装 Hibernate Tools 首先,需要从 Hibernate 的官方网站下载 Hibernate Tools 的安装包...

    hibernate tools 生成pojo

    博文链接指向的是ITEYE博客上的一篇文章,尽管具体内容无法在当前环境中查看,但通常这类文章会详细解释如何使用Hibernate Tools来生成POJO,包括可能遇到的问题及解决方案,或者是对工具的高级用法的探讨。...

    Eclipse上使用Hibernate

    在 Eclipse 中,您可以选择 File-&gt;New-&gt;Other-&gt;Hibernate-&gt;Hibernate Mapping File,然后选择要生成实体类的表。 一旦生成了.hbm.xml 文件,您就可以使用 HibernateSynchronizer 插件来生成实体类和 DAO 类。在 ...

    hibernate tools插件安装

    Hibernate Tools是Hibernate官方提供的一个扩展,它集成了Eclipse、IntelliJ IDEA等IDE,提供了逆向工程、实体类生成、持久化映射文件(hbm.xml)编辑、数据库浏览以及SQL生成等功能。这篇博客文章可能详细介绍了...

    Hibernate Tools使用指南

    Hibernate Tools还支持基于实体类或映射文件生成DAO层和Service层代码。在Eclipse中,右键选择项目,依次点击“Hibernate” -&gt; “Generate Hibernate Artifacts”,然后选择相应的模板进行代码生成。 **5. 数据库...

    利用Eclipse 开发Hibernate 应用程序

    "EclipseHibernateSynchronizer.pdf"文件可能就是这个插件的用户指南或安装教程,它可以帮助我们将Hibernate集成到Eclipse中,实现数据库模型与Java类的同步。 安装Hibernate插件后,我们可以通过以下步骤创建...

    利用hibernate自动生成hbm.xml文件和entity类.doc

    4. 选择文件生成路径:点击 Browse 选择文件生成的路径,这里可以选择一个已经存在的项目目录,以便于管理生成的文件。 5. 配置反转选项:在反转选项中,可以选择是否生成 DAO 类、Id Generator 的类型等。 6. 设置 Id...

    hibernate生成实体类

    8. **完成设置:** 最后点击“Finish”按钮完成设置,此时Hibernate会根据所选数据库表自动生成相应的实体类及映射文件。 9. **查看生成结果:** 自动跳转到Java资源视图中,可以看到对应的实体类已经生成完毕。 ##...

    Hibernate Tools-代码生成.docx

    这时,利用Hibernate Tools进行代码生成就显得尤为便捷。本文将详细介绍如何利用Hibernate Tools在已有的数据库基础上,自动生成对应的Java代码。 首先,确保已经正确安装了Hibernate Tools。这是一个强大的插件,...

    hibernatetools-3.1.0.beta5

    2. **逆向工程**:该版本的Hibernate Tools支持逆向工程,可以从现有的数据库中自动生成Hibernate配置文件(hbm.xml)和对应的Java实体类。这对于已有数据库的应用开发非常方便,减少了手动编写代码的工作量。 3. *...

    Hibernate在eclipse中反向生成

    - 在项目的 src 目录下创建一个用于存放反向生成类的包。 2. **配置 Hibernate 配置文件**: - 在项目上右击,选择 `New` -&gt; `Other...` -&gt; `Hibernate` 文件夹下的 `Hibernate Configuration File` (cfg.xml)。 ...

    通过Hibernate Tool 来生成Java类和HBM文件

    本文将详细介绍如何通过Hibernate Tool来生成Java类和HBM(Hibernate Mapping)文件。 首先,你需要一个支持Hibernate的开发环境,这里我们以Eclipse JEE版本为例。确保你的Eclipse已经安装了Hibernate相关的插件。...

    java根据实体类生成Hibernate映射文件

    本主题将深入探讨如何根据Java实体类自动生成Hibernate的映射文件,这对于不使用MyEclipse等集成开发环境的开发者来说尤其实用。 首先,我们需要了解Hibernate映射文件的基本结构。通常,一个映射文件以`.hbm.xml`...

    使用Eclipse进行Hibernate开发

    - **ADT插件**: 安装Eclipse ADT (AspectJ Development Tools) 插件或其它支持Hibernate开发的插件,如Hibernate Tools等,这些插件可以帮助快速搭建项目结构。 ##### 2. Hibernate及相关依赖库准备 - **Hibernate ...

Global site tag (gtag.js) - Google Analytics