Подобная же проблема.
Долго облазил весь инет — ничего дельного. В основном всё по старой версии hbm2java.
Вот натолкнулся на этот топик с типичной проблемой, но к сожалению без продолжения.
Для продолжения темы решил писать сюда.
Сейчас пытаюсь побороть Hibernate Tools 3.2.1.
Задача: генерация Java POJO`s классов на основе *.hbm.xml
При отрабатывании ant скрипта вылетает ошибка на отсутствие класса, который описан в мапппинге. (в частности, так же жалуется на отсутствие полей в классе)
С первого взгляда, наступает мозговой ступор — hibernate tools ждет от меня скомпиленные классы, которые я жду от него в исходном ввиде. %) (cycle dependencies).
entityS.hbm.xml
<?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="Book" table="BOOK">
<id name="id" type="string" unsaved-value="null" >
<column name="BOOK_ID" sql-type="char(32)" not-null="true"/>
<generator class="uuid.hex"/>
</id>
<property column="BOOK_NAME" name="name"/>
<property column="BOOK_ISBN" name="isbn"/>
</class>
</hibernate-mapping>
build.xml
<?xml version="1.0"?>
<project name="UProject" basedir=".">
<property name="generateddir" value="${basedir}/src"/>
<path id="toolslib">
<path location="lib/hibernate-tools.jar" />
<path location="lib/hibernate3.jar" />
<path location="lib/freemarker.jar" />
<path location="lib/commons-logging-1.0.4.jar" />
<path location="lib/dom4j-1.6.1.jar" />
<path location="lib/commons-collections-2.1.1.jar" />
</path>
<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="toolslib" />
<target name="codegen" description="Generate Java source code from the Hibernate mapping files">
<hibernatetool destdir="${generateddir}">
<configuration configurationfile="hibernate.cfg.xml">
<fileset dir="${basedir}/src/hbm"/>
</configuration>
<hbm2java/>
</hibernatetool>
</target>
</project>
log
Apache Ant version 1.7.0 compiled on December 13 2006
Buildfile: build.xml
Detected Java version: 1.5 in: C:\Program Files\Java\jdk1.5.0_06\jre
Detected OS: Windows XP
parsing buildfile build.xml with URI = file:/build.xml
Project base dir set to: ant
codegen:
[hibernatetool] Executing Hibernate Tool with a Standard Configuration dropping antc from path as it doesn't exist
[hibernatetool] 1. task: hbm2java (Generates a set of .java files)
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Environment <clinit>
[hibernatetool] INFO: Hibernate 3.2.5
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Environment <clinit>
[hibernatetool] INFO: hibernate.properties not found
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Environment buildBytecodeProvider
[hibernatetool] INFO: Bytecode provider name : cglib
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Environment <clinit>
[hibernatetool] INFO: using JDK 1.4 java.sql.Timestamp handling
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Configuration configure
[hibernatetool] INFO: configuring from file: hibernate.cfg.xml
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Configuration doConfigure
[hibernatetool] INFO: Configured SessionFactory: null
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.Configuration addFile
[hibernatetool] INFO: Reading mappings from file: src\hbm\entityS.hbm.xml
[hibernatetool] 08.05.2009 16:16:17 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
[hibernatetool] INFO: Mapping class: Book -> BOOK
[hibernatetool] An exception occurred while running exporter #2:hbm2java (Generates a set of .java files)
[hibernatetool] To get the full stack trace run ant with -verbose
[hibernatetool] Failed in building configuration when adding src\hbm\entityS.hbm.xml
[hibernatetool] org.hibernate.InvalidMappingException: Could not parse mapping document from file src\hbm\entityS.hbm.xml
[hibernatetool] org.hibernate.MappingException: class Book not found while looking for property: name
[hibernatetool] java.lang.ClassNotFoundException: Book
[hibernatetool] A class were not found in the classpath of the Ant task.
[hibernatetool] Ensure that the classpath contains the classes needed for Hibernate and your code are in the classpath.
BUILD FAILED
build.xml:29: Failed in building configuration when adding src\hbm\entityS.hbm.xml
at org.hibernate.tool.ant.ConfigurationTask.addFile(ConfigurationTask.java:155)
at org.hibernate.tool.ant.ConfigurationTask.addMappings(ConfigurationTask.java:133)
at org.hibernate.tool.ant.ConfigurationTask.doConfiguration(ConfigurationTask.java:97)
at org.hibernate.tool.ant.ConfigurationTask.getConfiguration(ConfigurationTask.java:55)
at org.hibernate.tool.ant.HibernateToolTask.getConfiguration(HibernateToolTask.java:302)
at org.hibernate.tool.ant.HibernateToolTask.getProperties(HibernateToolTask.java:318)
at org.hibernate.tool.ant.ExporterTask.configureExporter(ExporterTask.java:94)
at org.hibernate.tool.ant.Hbm2JavaExporterTask.configureExporter(Hbm2JavaExporterTask.java:34)
at org.hibernate.tool.ant.ExporterTask.execute(ExporterTask.java:39)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:186)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from file src\hbm\entityS.hbm.xml
at org.hibernate.cfg.Configuration.addFile(Configuration.java:319)
at org.hibernate.tool.ant.ConfigurationTask.addFile(ConfigurationTask.java:150)
... 26 more
Caused by: org.hibernate.MappingException: class Book not found while looking for property: name
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2174)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2151)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2041)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:359)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addFile(Configuration.java:309)
... 27 more
Caused by: java.lang.ClassNotFoundException: Book
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1383)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1324)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1072)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
... 36 more
--- Nested Exception ---
org.hibernate.InvalidMappingException: Could not parse mapping document from file src\hbm\entityS.hbm.xml
at org.hibernate.cfg.Configuration.addFile(Configuration.java:319)
at org.hibernate.tool.ant.ConfigurationTask.addFile(ConfigurationTask.java:150)
at org.hibernate.tool.ant.ConfigurationTask.addMappings(ConfigurationTask.java:133)
at org.hibernate.tool.ant.ConfigurationTask.doConfiguration(ConfigurationTask.java:97)
at org.hibernate.tool.ant.ConfigurationTask.getConfiguration(ConfigurationTask.java:55)
at org.hibernate.tool.ant.HibernateToolTask.getConfiguration(HibernateToolTask.java:302)
at org.hibernate.tool.ant.HibernateToolTask.getProperties(HibernateToolTask.java:318)
at org.hibernate.tool.ant.ExporterTask.configureExporter(ExporterTask.java:94)
at org.hibernate.tool.ant.Hbm2JavaExporterTask.configureExporter(Hbm2JavaExporterTask.java:34)
at org.hibernate.tool.ant.ExporterTask.execute(ExporterTask.java:39)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:186)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: org.hibernate.MappingException: class Book not found while looking for property: name
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2174)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2151)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2041)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:359)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addFile(Configuration.java:309)
... 27 more
Caused by: java.lang.ClassNotFoundException: Book
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1383)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1324)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1072)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
... 36 more
Total time: 1 second
Кто сталкивался?
Спасибо.