`
shaoxiongwang#21cn.com
  • 浏览: 76014 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于Hibernate自动生成工具的问题

阅读更多
java 代码
 
  1. <hibernate-mapping>  
  2.     <class name="com.pilotek.ups.pk.hbm.Table1" table="TABLE1" schema="dbo" catalog="UpsMonitor">  
  3.         <composite-id name="id" class="com.pilotek.ups.pk.hbm.Table1Id">  
  4.             <key-property name="id" type="java.lang.String">  
  5.                 <column name="id" length="50" />  
  6.             </key-property>  
  7.             <key-property name="name" type="java.lang.String">  
  8.                 <column name="name" length="10" />  
  9.             </key-property>  
  10.         </composite-id>  
  11.     </class>  
  12. </hibernate-mapping>  
  13.   
  14. pojo  
  15. public class Table1  implements java.io.Serializable {  
  16.   
  17.   
  18.     // Fields      
  19.   
  20.      private Table1Id id;  
  21.   
  22.   
  23.     // Constructors  
  24.   
  25.     /** default constructor */  
  26.     public Table1() {  
  27.     }  
  28.   
  29.      
  30.     // Property accessors  
  31.   
  32.     public Table1Id getId() {  
  33.         return this.id;  
  34.     }  
  35.       
  36.     public void setId(Table1Id id) {  
  37.         this.id = id;  
  38.     }  
  39.   
  40. }  
  41.   
  42. public class Table1Id  implements java.io.Serializable {  
  43.   
  44.   
  45.     // Fields      
  46.   
  47.      private String id;  
  48.      private String name;  
  49.   
  50.   
  51.     // Constructors  
  52.   
  53.     /** default constructor */  
  54.     public Table1Id() {  
  55.     }  
  56.   
  57.     /** minimal constructor */  
  58.     public Table1Id(String id) {  
  59.         this.id = id;  
  60.     }  
  61.       
  62.     /** full constructor */  
  63.     public Table1Id(String id, String name) {  
  64.         this.id = id;  
  65.         this.name = name;  
  66.     }  
  67.   
  68.      
  69.     // Property accessors  
  70.   
  71.     public String getId() {  
  72.         return this.id;  
  73.     }  
  74.       
  75.     public void setId(String id) {  
  76.         this.id = id;  
  77.     }  
  78.   
  79.     public String getName() {  
  80.         return this.name;  
  81.     }  
  82.       
  83.     public void setName(String name) {  
  84.         this.name = name;  
  85.     }  
  86.      
  87.   
  88.   
  89.   
  90.    public boolean equals(Object other) {  
  91.          if ( (this == other ) ) return true;  
  92.          if ( (other == null ) ) return false;  
  93.          if ( !(other instanceof Table1Id) ) return false;  
  94.          Table1Id castOther = ( Table1Id ) other;   
  95.            
  96.          return ( (this.getId()==castOther.getId()) || ( this.getId()!=null && castOther.getId()!=null && this.getId().equals(castOther.getId()) ) )  
  97.  && ( (this.getName()==castOther.getName()) || ( this.getName()!=null && castOther.getName()!=null && this.getName().equals(castOther.getName()) ) );  
  98.    }  
  99.      
  100.    public int hashCode() {  
  101.          int result = 17;  
  102.            
  103.          result = 37 * result + ( getId() == null ? 0 : this.getId().hashCode() );  
  104.          result = 37 * result + ( getName() == null ? 0 : this.getName().hashCode() );  
  105.          return result;  
  106.    }    
  107. }  
最近遇到很怪的问题,搞了几天才弄明白, 使用myeclipse和hibernate-tool工具,自动生成代码.hbm.xml,pojo,自动产生的代码见上面, <hibernate-mapping> <class catalog="UpsMonitor" schema="dbo" table="TABLE1" name="com.pilotek.ups.pk.hbm.Table1"> <composite-id class="com.pilotek.ups.pk.hbm.Table1Id" name="id"> <key-property type="java.lang.String" name="id"> <column length="50" name="id"> </column> <key-property type="java.lang.String" name="name"> <column length="10" name="name"> </column> </key-property> </key-property> </composite-id>全部是以组合键的形式出现,搞了半天,把eclipse也折腾了几次,差点崩溃,差点全部要手写了,最后发现原来表必须要设某列为主键,否则产生的代码就是这样,就是以组合键的方式出现.</class></hibernate-mapping>
分享到:
评论
1 楼 adler_sui 2009-11-30  
我也遇到同样的问题,也是看了楼主的帖子,才恍然大悟

相关推荐

    Hibernate自动生成持久化类和映射文件

    总的来说,"Hibernate自动生成持久化类和映射文件"是myEclipse提供的一种便捷工具,它帮助开发者快速地将数据库表结构转化为Java对象,简化了开发流程,使开发者能够更加专注于业务逻辑的实现,而不是底层的数据库...

    hibernate代码自动生成

    使用Hibernate代码自动生成工具有很多优点,例如: - 减少手动编码工作,降低出错率。 - 提高开发速度,使开发者更专注于业务逻辑。 - 便于维护,当数据库表结构发生变化时,只需更新相应的表,工具会自动生成修改...

    hibernate自动生成数据库文件

    在本例中,`hibernate自动生成数据库文件.exe`可能是Hibernate Tools的一个实现,用于将Java类转换为数据库脚本或直接创建数据库。 2. **逆向工程(Reverse Engineering)**:逆向工程是Hibernate Tools中的一个...

    hibernate自动生成

    在描述中提到的“hibernate自动生成”是指Hibernate提供的代码生成工具,能够帮助我们快速创建Entity(实体)、映射文件(Mapping Files)以及DAO(数据访问对象)等关键组件。这一特性使得开发过程更加便捷,减少了...

    hibernate代码生成工具

    通过自动化的方式,它可以自动生成基于Hibernate的实体类、DAO(数据访问对象)层代码以及SQL映射文件,极大地提高了开发效率。 在Java开发中,Hibernate作为一款强大的ORM框架,它允许开发者使用面向对象的方式来...

    Hibernate 映射文件自动生成

    【标题】:“Hibernate 映射文件自动生成” 在Java开发中,Hibernate是一个广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作。Hibernate通过XML或注解方式将Java类与数据库表进行映射,使得开发者可以...

    Hibernate自动生成配置文件

    本篇文章将详细讲解如何在MyEclipse环境下使用Hibernate连接数据库并自动生成配置文件。 首先,我们需要创建一个Web工程。在MyEclipse中,可以通过菜单栏选择“File” -&gt; “New” -&gt; “Dynamic Web Project”,为...

    代码自动生成工具 hibernate配置文件工具 MagicalTools

    《代码自动生成工具 Hibernate配置文件工具 MagicalTools 深度解析》 在现代软件开发过程中,提高效率和减少重复劳动是至关重要的。为此,开发者们不断寻求自动化工具的帮助,以简化繁琐的任务,如代码编写、配置...

    hibernate dao 生成工具

    使用Hibernate DAO生成工具,开发者可以自动生成与数据库表对应的DAO接口和实现类,这些类通常包含增删查改的基本方法。例如,对于一个名为`User`的表,工具会生成`UserDAO`接口和`UserDAOImpl`实现类,其中包含`...

    Hibernate代码生成工具 设计全攻略

    Hibernate代码生成工具 设计全攻略

    hibernate自动化生成工具

    **hibernate自动化生成工具** Hibernate 是一个流行的Java ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库。在开发过程中,手动编写与数据库交互的代码可能会非常耗时,这时就引入了Hibernate的...

    Hibernate实体类生成器mysql版

    为了提高开发效率并减少人为错误,许多开发者选择使用代码生成工具,如"Hibernate实体类生成器mysql版"。这款工具基于FreeMarker模板引擎,结合Java的Swing技术构建了可视化的用户界面,使得开发者能够快速地根据...

    自动生成hibernate映射文件和实体类

    自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射文件和实体类。 首先,需要创建一个数据库...

    hibernate自动生成Pojo

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

    hibernate实体生成工具

    **hibernate实体生成工具**是开发者在使用Hibernate框架时常用的一种辅助工具,它能够自动生成与数据库表对应的Java实体类,大大节省了手动编写代码的时间,提高了开发效率。Hibernate是一个强大的对象关系映射(ORM...

    hibernate自动生成dao,配置文件等的学习笔记,在myeclipse下实现

    反向工程是Hibernate自动生成代码的关键步骤。通过右键点击已连接的表,选择"Hibernate Reverse Engineering",我们可以启动这个过程。在这个界面中,你可以选择要生成的文件类型: 1. Hbm.xml文件:这是Hibernate...

    Hibernate自动生成

    《Hibernate自动生成:简化开发流程与提升效率》 在Java开发中,ORM(Object-Relational Mapping)框架如Hibernate极大地简化了数据库操作,使得开发者能够更专注于业务逻辑而不是底层的数据访问层。其中,...

    hibernate的映射表生成器

    标题中的“hibernate的映射表生成器”是一个图形用户界面(GUI)工具,专门设计用于帮助开发者自动生成数据表,其基于对象模型(po)和映射文件(XML文件)。这个工具的出现,极大地提高了开发效率,减少了手动创建...

Global site tag (gtag.js) - Google Analytics