When generating the DDL, it raised the following exceptions :

[schemaexport] - Hibernate 2.0.1
[schemaexport] - loaded properties from resource hibernate.properties:
{hibernate.connection.username=macausms,
hibernate.connection.password=123456,
hibernate.cglib.use_reflection_optimizer=true,
hibernate.dialect=net.sf.hibernate.dialect.PostgreSQLDialect,
hibernate.show_sql=true, hibernate.use_outer_join=true,
hibernate.jdbc.use_scrollable_resultset=false,
hibernate.connection.datasource=TestDS}
[schemaexport] - using CGLIB reflection optimizer
[schemaexport] - JVM proxy support: true
[schemaexport] - Mapping file:
C:\Projects\xproducts\test\build\gen-src\hibernate\eric\test\bean\User.hbm.x
ml
[schemaexport] - Mapping class: eric.test.bean.User -> e_User
[schemaexport] - Mapping collection: eric.test.bean.User.roles -> roles
[schemaexport] - Mapping file:
C:\Projects\xproducts\test\build\gen-src\hibernate\eric\test\bean\Role.hbm.x
ml
[schemaexport] - Mapping class: eric.test.bean.Role -> e_Role
[schemaexport] - Mapping collection: eric.test.bean.Role.users -> users
[schemaexport] - Using dialect: net.sf.hibernate.dialect.PostgreSQLDialect

BUILD FAILED
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
 at java.lang.String.charAt(String.java:460)
 at net.sf.hibernate.mapping.Column.setName(Column.java:43)
 at net.sf.hibernate.cfg.Binder.bindColumns(Binder.java:322)
 at net.sf.hibernate.cfg.Binder.bindManyToOne(Binder.java:497)
 at net.sf.hibernate.cfg.Binder.bindCollectionSecondPass(Binder.java:1031)
 at net.sf.hibernate.cfg.Binder.bindSetSecondPass(Binder.java:904)
 at net.sf.hibernate.cfg.Binder$SetSecondPass.secondPass(Binder.java:1168)
 at net.sf.hibernate.cfg.Binder$SecondPass.doSecondPass(Binder.java:1116)
 at
net.sf.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:495)
 at
net.sf.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.ja
va:352)
 at net.sf.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:51)
 at
net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.getSchemaExport(SchemaExportT
ask.java:198)
 at
net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.execute(SchemaExportTask.java
:129)
 at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
 at org.apache.tools.ant.Main.runBuild(Main.java:609)
 at org.apache.tools.ant.Main.start(Main.java:196)
 at org.apache.tools.ant.Main.main(Main.java:235)

Total time: 42 seconds
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
 at java.lang.String.charAt(String.java:460)
 at net.sf.hibernate.mapping.Column.setName(Column.java:43)
 at net.sf.hibernate.cfg.Binder.bindColumns(Binder.java:322)
 at net.sf.hibernate.cfg.Binder.bindManyToOne(Binder.java:497)
 at net.sf.hibernate.cfg.Binder.bindCollectionSecondPass(Binder.java:1031)
 at net.sf.hibernate.cfg.Binder.bindSetSecondPass(Binder.java:904)
 at net.sf.hibernate.cfg.Binder$SetSecondPass.secondPass(Binder.java:1168)
 at net.sf.hibernate.cfg.Binder$SecondPass.doSecondPass(Binder.java:1116)
 at
net.sf.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:495)
 at
net.sf.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.ja
va:352)
 at net.sf.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:51)
 at
net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.getSchemaExport(SchemaExportT
ask.java:198)
 at
net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.execute(SchemaExportTask.java
:129)
 at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
 at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
 at org.apache.tools.ant.Task.perform(Task.java:341)
 at org.apache.tools.ant.Target.execute(Target.java:309)
 at org.apache.tools.ant.Target.performTasks(Target.java:336)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
 at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
 at org.apache.tools.ant.Main.runBuild(Main.java:609)
 at org.apache.tools.ant.Main.start(Main.java:196)
 at org.apache.tools.ant.Main.main(Main.java:235)
String index out of range: 0



The part of generate DDL in build.xml:
----------------------------------------------------------------------------
-----------

   <schemaexport
      properties="${project.build.classes}/hibernate.properties"
      quiet="no"
      text="no"
      drop="no"
      delimiter=";"
      output="${project.build.dir}/${project.name}.sql">

      <fileset dir="${project.gen.hibernate}">
         <include name="**/*.hbm.xml"/>
      </fileset>
   </schemaexport>
----------------------------------------------------------------------------
---


Please check my Source codes .




==========================
If you know what you are doing,
it is not called RESEARCH!
==========================

Attachment: Role.java
Description: Binary data

Attachment: User.java
Description: Binary data

Attachment: hibernate.properties
Description: Binary data

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd";>

<hibernate-mapping>
    <class
        name="eric.test.bean.Role"
        table="e_Role"
    >

        <id
            name="roleId"
            column="roleId"
            type="long"
            unsaved-value="any"
        >
            <generator class="sequence">
            </generator>
        </id>

        <property
            name="name"
            type="java.lang.String"
            column="name"
        />

        <set
            name="users"
            lazy="true"
            inverse="false"
            cascade="none"
            sort="unsorted"
        >

              <key
                  column="role_fk"
              />

              <many-to-many
                  class="eric.test.bean.User"
                  column="roleId"
                  outer-join="auto"
              />

        </set>

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-Role.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd";>

<hibernate-mapping>
    <class
        name="eric.test.bean.User"
        table="e_User"
    >

        <id
            name="userId"
            column="userId"
            type="long"
        >
            <generator class="sequence">
            </generator>
        </id>

        <property
            name="name"
            type="java.lang.String"
            column="name"
        />

        <set
            name="roles"
            lazy="true"
            inverse="false"
            cascade="none"
            sort="unsorted"
        >

              <key
                  column="user_fk"
              />

              <many-to-many
                  class="eric.test.bean.Role"
                  column=""
                  outer-join="auto"
              />

        </set>

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-User.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>

Reply via email to