Hi,

I am experiencing a problem with the package name declaration during pojo and 
mapping generation with Hibernate Tools without using Ant.

hibernate.cfg.xml:


<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate
Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>


  <session-factory name="session1">


    <property 
name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>


    <property 
name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>


    <property 
name="hibernate.connection.url">jdbc:derby://localhost:1527/travel</property>


    <property name="hibernate.connection.username">travel</property>


    <property name="hibernate.connection.password">travel</property>


  </session-factory>


</hibernate-configuration>


hibernate.reveng.xml:


<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE hibernate-reverse-engineering PUBLIC
"-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd">


<hibernate-reverse-engineering>


  <table-filter exclude="false" match-catalog=".*" match-name="FLIGHT" 
match-schema=".*"/>


  <table-filter exclude="false" match-catalog=".*" match-name="PERSON" 
match-schema=".*"/>


  <table-filter exclude="false" match-catalog=".*" match-name="TRIP" 
match-schema=".*"/>


  <table-filter exclude="false" match-catalog=".*" match-name="TRIPTYPE" 
match-schema=".*"/>


</hibernate-reverse-engineering>



Code that generates pojos and mapping files:

try {
               
 cfg = new JDBCMetaDataConfiguration();
               
 OverrideRepository or = new OverrideRepository();
               
 InputStream xmlInputStream = new FileInputStream(FileUtil.toFile(revengFile));
               
 xmlHelper = new XMLHelper();
               
 entityResolver = XMLHelper.DEFAULT_DTD_RESOLVER;
               
 List errors = new ArrayList();

               
 SAXReader saxReader = xmlHelper.createSAXReader("XML InputStream", errors, 
entityResolver);
               
 org.dom4j.Document doc = saxReader.read(new InputSource(xmlInputStream));
               
 Configuration c = cfg.configure(confFile);
               
 cfg.setReverseEngineeringStrategy(or.getReverseEngineeringStrategy(new 
DefaultReverseEngineeringStrategy()));
               
 cfg.readFromJDBC();
            } catch 
(Exception e) {
               
 Exceptions.printStackTrace(e);
            }

            // 
Generating POJOs
            FileObject 
pkg;
            try {
               
 pkg = SourceGroups.getFolderForPackage(helper.getLocation(), 
helper.getPackageName());
               
 File outputDir = FileUtil.toFile(pkg);
               
 POJOExporter exporter = new POJOExporter(cfg, outputDir);
               
 exporter.getProperties().setProperty("jdk", new 
Boolean(helper.getJavaSyntax()).toString());
               
 exporter.getProperties().setProperty("ejb3", new 
Boolean(helper.getEjbAnnotation()).toString());
               
 exporter.start();
            } catch 
(IOException ex) {
               
 Exceptions.printStackTrace(ex);
            }

            // Generate 
Mappings
            try {
               
 pkg = SourceGroups.getFolderForPackage(helper.getLocation(), 
helper.getPackageName());               
 
               
 File outputDir = FileUtil.toFile(pkg);
               
 HibernateMappingExporter exporter = new HibernateMappingExporter(cfg, 
outputDir);               
 
               
 exporter.start();
            } catch 
(Exception e) {
               
 Exceptions.printStackTrace(ex);
            }

in the code outputDir is 
C:\Documents and 
Settings\gowri\MyDocuments\NetBeansProjects\WebApplication57\src\java\Travel.

But the generated pojo and mapping files don't contain package as Travel .

// default package
// Generated May 27, 2008 12:45:56 AM by Hibernate Tools 3.2.1.GA


import java.util.Date;

/**
 * Person generated by hbm2java
 */
public class Person  implements java.io.Serializable {


     private int personid;
     private String name;
     private String jobtitle;
     private Short frequentflyer;
     private Date lastupdated;

    public Person() {
    }

    
    public Person(int personid) {
        this.personid = personid;
    }
    public Person(int personid, String name, String jobtitle, 
Short frequentflyer, Date lastupdated) {
       this.personid = personid;
       this.name = name;
       this.jobtitle = jobtitle;
       this.frequentflyer = frequentflyer;
       this.lastupdated = lastupdated;
    }


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- Generated May 27, 2008 12:45:57 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>

<class name="Person" table="PERSON" schema="TRAVEL">
    <id  name="personid" type="int">
    


class name should be Travel.Person. 

Wondering why tools is not setting the package right ?

Secondly, even though I have defined the HibernateReverseEngineeringStrategy, 
why tools is generating pojos and mapping files for all the tables in the db ? 
(Note:I have listed only selected tables in the hibernate.reveng.xml).




      
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to