2008-11-21 63 views
2

是否有任何工具通过从数据库收集信息自动生成休眠POJO?休眠自动发现和数据库映射到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> 

回答

1

的Netbeans确实产生注解实体将与Hibernate的注解/ entitmanager工作的一个很好的工作。我也在Eclipse中使用了Hibernate Tools/JBoss IDE来生成它们,它工作得很好。