2008-11-21 61 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來生成它們,它工作得很好。