代码之家  ›  专栏  ›  技术社区  ›  dsm

休眠自动发现和生成到POJO的数据库映射

  •  2
  • dsm  · 技术社区  · 15 年前

    有没有通过从数据库收集信息来自动生成HibernatePojos的工具?

    我做了一个Perl脚本,在我正在工作的项目中第三次或第四次修改模式之后,我想知道是否有现成的工具可以为我这样做,因为我的脚本相当粗糙,需要对生成的 .java .hbm.xml 文件夹。

    例如(基于我的脚本所做的),有一个表 statement :

    Object_Name  Type_Name Base_Type Nulls Identity
    ------------ --------- --------- ----- --------
    id           id_int    int       no    yes
    id_user      id_tiny   tinyint   no    no
    value        float     float     no    no
    

    我希望程序能够自动生成下面的Java:

    package com.some.company.schema;
    
    import java.io.Serializable;
    
    public class Statement implements Serializable {
        private static final long serialVersionUID = 1227171190L;
        private Integer id;
        private User user;
        private Float value;
    
        public void setId(Integer id){
            this.id = id;
        }
    
        public Integer getId(){
            return this.id;
        }
    
        public void setUser(User user){
            this.user = user;
        }
    
        public User getUser(){
            return this.user;
        }
    
        public void setValue(Float value){
            this.value = value;
        }
    
        public Float getValue(){
            return this.value;
        }
    }
    

    以及相应的休眠映射文件:

    <?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="com.some.company.schema.Statement" table="statement">
            <id name="id" column="id">
                <generator class="native" />
            </id>
            <many-to-one name="user" class="com.some.company.schema.User" column="id_user" not-null="true" />
            <property name="value" column="value" not-null="true" />
        </class>
    </hibernate-mapping>
    
    3 回复  |  直到 10 年前
        1
  •  3
  •   LenW    10 年前
        2
  •  1
  •   jsight TaherT    15 年前

    NetBeans在生成将与Hibernate Annotations/EntitManager一起工作的注释实体方面做得很好。我还使用了Eclipse中的Hibernate工具/JBossIDE来生成它们,它运行得很好。

        3
  •  0
  •   Paul Whelan    15 年前

    参见休眠工具

    http://www.hibernate.org/hib_docs/tools/reference/en/html_single/

    不确定从模式到Pojos 但绝对是从hbm.xml文件到pojos。

    Maven插件也可以使自动化构建成为梦想 保罗