2008-11-21 4 views
2

Existe-t-il des outils qui génèrent automatiquement les POJO Hibernate en collectant des informations à partir de la base de données? J'ai fait un script Perl pour faire ceci après que le schéma a été changé pour la troisième ou quatrième fois dans un projet avec lequel je travaille et je me demandais juste s'il y a un outil établi qui fera ça pour moi car mon script est plutôt brut et a besoin de quelques réglages des fichiers .java et .hbm.xml générés.hibernate découverte automatique et génération de mappages de base de données avec les POJO

Par exemple (basé sur ce que mon script ne), ayant une table 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 

Je voudrais que le programme AutoGenerate la java suivante:

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; 
    } 
} 

Et le mapping Hibernate correspondant fichier:

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

Répondre

1

Netbeans fait un bon travail de génération des annotations entités qui fonctionnent avec hibernate-annotations/entitmanager. J'ai également utilisé l'EDI Hibernate Tools/JBoss dans Eclipse pour les générer et cela a plutôt bien fonctionné.

Questions connexes