`
king_唐
  • 浏览: 23719 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate 3.6 + Hibernate-tools + Ant生成POJO

    博客分类:
  • Java
阅读更多
最近在阅读《Hibernate高手秘籍》一书中,在第一章提到了使用Hibernate 以及Hibernate的扩展工具来生成POJO类,但是那本书是基于Hibernate2.X的。而现在的hibernate版本4.0都已经alpha了。由于我的Hibernate版本是3.6。 所以,书中的代码根本不能运行成功。

下面我就以自己的一个示例工程来运行下书中的例子.
首先下载项目所依赖的jar包,你可以到官方网站上去下载所需要的jar包,我这里提供了一个。里面含有所有的jar 。包括hibernate-tools里面的freemarker.jar & hibernate-tools.jar
还有一些其他的相关jar包。因为jar包大小超过了10M,附件不支持,所以请需要的到这个URL去下载。

http://download.csdn.net/source/3096976

首先我们新建一个目录结构,如下:

引用

Hibernate
    +---build.xml
    +---src
        +---org
            +--tony
               +--hh   //映射文件存放在hh目录下,同时这个目录存放我们生成的POJO
    +---lib         //这个目录存放我们的jar包
    +---data

目录结构创建好了之后,我们再进行第二步,创建编写我们的build.xml ,内容如下
<project name="Harnessing Hibernate" basedir=".">
  <property name="source.root" value="src"/>
  <property name="class.root" value="classes"/>
  <property name="lib.dir" value="lib"/>
  <property name="mapping.xml.path" value="src" />

  <path id="project.class.path">
    <pathelement location="${class.root}"/>
    <fileset dir="${lib.dir}">
      <include name="*.jar"/>
    </fileset>
  </path>
 
  <target name="hibernatetool">
            <taskdef name="hibernatetool" 
            classname="org.hibernate.tool.ant.HibernateToolTask" 
            classpathref="project.class.path"/>
	 
	    <hibernatetool destdir="${source.root}">	
	      <classpath>
		<path location="${source.root}" />
	      </classpath>
	      <configuration    configurationfile="${source.root}/hibernate.cfg.xml"/>
	      <hbm2java/>
	    </hibernatetool>
  </target>
</project>


接下来我们将在hh目录下建立一个测试文件User.hbm.xml,内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="org.tony.hh.User" table="USER">
    <meta attribute="class-description">
      简单的测试
      @author tony
    </meta>
    
    <id name="id" type="int" >
      <meta attribute="scope-set">private</meta>
      <generator class="native"/>
    </id>

    <property name="username" type="string"/>
    <property name="password" type="string"/>
  </class>
</hibernate-mapping>


最后一步,建立在src目录下建立hibernate.cfg.xml配置文件,内容如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <property name="connection.username">root</property>
  <property name="connection.password">XXX</property><!--Your DB password here.-->
  <property name="connection.url">jdbc:mysql://localhost:3306/my</property>
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  <mapping resource="org/tony/hh/User.hbm.xml" />
 </session-factory>
</hibernate-configuration>



最后进入build.xml所在目录,执行ant。再进你的源代码目录下,你会看到自动生成的POJO类。

提示:在build.xml中,配置hibernatetool的时候,请你一定要加上classpath属性,否则,有可能会出现如下错误:
[hibernatetool] org.hibernate.MappingNotFoundException: resource: XXX.hbm.xml not found


祝大家好运。
分享到:
评论

相关推荐

    Hibernate3.6 Final &Hibernate tools

    Hibernate 3.6 Final所有的jar包,以及Hibernate Tools 中的hibernate-tools.jar 和 freemarker.jar 。 本jar包用于使用hibernate-tools生成POJO所需要的依赖库

    Struts+Spring+Hibernate--SSH整合实例.

    反向工程时,选择生成POJO、Hibernate映射文件以及更新Hibernate配置,Id生成器设置为`native`。 接下来,我们创建DAO(数据访问对象)接口`UserDao`,通常这个接口会定义对数据库的CRUD(创建、读取、更新、删除)...

    hibernate-extensions和Middlegen-Hibernate

    为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...

    使用HibernateTools+Ant全自动生成实体类和数据库

    利用hibernate-Tools里的相关工具类,使得java实体类(POJO)、hbm映射文件、数据库表(Schema)之间可以相互转化。也就是说,只要有其中一样,就可以通过各种途径得到其它两样。如果手里已经有了其中一样东西,要想...

    hibernate tools 生成pojo

    **三、使用Hibernate Tools生成POJO的步骤** 1. **安装与配置**:首先,你需要在你的开发环境中集成Hibernate Tools,这可能涉及到IDE的插件安装,如Eclipse或IntelliJ IDEA中的插件设置。 2. **配置Hibernate.cfg....

    Hibernate3.6(开发必看).pdf

    开发者可以利用Hibernate Tools来生成和管理Hibernate映射文件和配置文件。 Hibernate 3.6版本还介绍了对于JPA 2.0的支持。通过引入hibernate-jpa-2.0-api-1.0.0.Final.jar,Hibernate可以作为JPA 2.0实现来使用,...

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

    为了提高开发效率,开发者经常使用Hibernate Tools来反向工程数据库模式,自动生成POJO(Plain Old Java Object)类,这些类可以直接用于数据操作。本文将详细讲解如何在Eclipse中配置Hibernate Tools以实现注解方式...

    hibernate3.6 文档(pdf 格式)

    ### 关于 Hibernate 3.6 文档的知识点总结 #### 一、教程部分 ##### 1.1 第一部分:第一个 Hibernate 应用程序 - **设置**:介绍如何准备环境来运行一个简单的 Hibernate 应用程序,包括安装 Hibernate 的依赖库、...

    sturts2.3.15.1+Spring3.2+hibernate3.6整合

    标题中的"sturts2.3.15.1+Spring3.2+hibernate3.6整合"指的是在Web开发中使用Struts2、Spring和Hibernate这三种技术进行集成开发的一个项目版本配置。SSH(Struts2、Spring、Hibernate)是Java企业级应用中常见的...

    hibernate生成pojo

    ### Hibernate生成POJO详解 #### 一、简介 在Java开发中,Hibernate作为一个流行的ORM(Object Relational Mapping)框架,极大地简化了数据持久化的复杂度。通过Hibernate,开发者可以将对象模型映射到关系型...

    hibernate自动生成Pojo

    为此,Hibernate 提供了反向工程(Reverse Engineering)工具,可以自动生成基于数据库表结构的POJO类,极大地提高了开发效率。 `hibernate_tools` 和 `hibernate_extension` 是 Hibernate 提供的扩展和工具集,...

    hibernate+ehcache

    1. **Hibernate 框架**:Hibernate 是 Java 开发者用于对象关系映射(ORM)的主流工具,它允许开发者用面向对象的方式处理数据库操作,通过提供 POJO(Plain Old Java Object)与数据库表之间的映射,简化了数据访问...

    Struts2+hibernate3.2+Spring2.0架构搭建

    ### Struts2+Hibernate3.2+Spring2.0架构搭建详解 #### 一、环境搭建与配置 在本教程中,我们将详细讲解如何搭建基于Struts2+Hibernate3.2+Spring2.0的软件架构。这个组合常被称为SSH(Struts-Spring-Hibernate)...

    mybatis最终工具+pojo+dao+mapper一键生成

    在本项目中,"mybatis最终工具+pojo+dao+mapper一键生成" 提供了一个自动化工具,能够快速生成MyBatis相关的实体类(POJO)、数据访问对象(DAO)以及映射器接口(Mapper)等核心组件,极大地提高了开发效率。...

    spring3+hibernate3+ssh2+框架整合demo

    通过Hibernate,开发者可以使用POJO(Plain Old Java Object)来表示数据库中的表,实现数据的透明操作。 **Struts 2 (SSH2)** 是基于MVC(Model-View-Controller)设计模式的Web应用框架,用于构建用户界面。...

    PowerDesign数据库建模和HibernateTools生成POJO映射文件等.pdf

    根据给定的文件信息,我们可以总结出以下关键的IT知识点,主要围绕PowerDesigner数据库建模、HibernateTools生成POJO映射文件以及相关的环境搭建过程。 ### PowerDesigner数据库建模 PowerDesigner是一款强大的...

Global site tag (gtag.js) - Google Analytics