2

是否有任何工具可以通过从数据库中收集信息来自动生成休眠 POJO?

在我正在使用的项目中第三次或第四次更改架构后,我制作了一个 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;
    }
}

以及对应的Hibernate映射文件:

<?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>
4

3 回答 3

3

参见hibernate逆向工程

于 2008-12-04T12:21:02.147 回答
1

Netbeans 在生成将与 hibernate-annotations/entitmanager 一起使用的注释实体方面做得很好。我还在 Eclipse 中使用了 Hibernate Tools/JBoss IDE 来生成它们,并且效果很好。

于 2008-11-21T20:10:41.360 回答
0

查看休眠工具

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

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

Maven 插件也可用,使自动化构建成为梦想 Paul

于 2008-11-21T14:16:07.863 回答