[ 
http://jira.codehaus.org/browse/MHIBERNATE-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=161325#action_161325
 ] 

David J. M. Karlsen edited comment on MHIBERNATE-83 at 1/17/09 5:21 AM:
------------------------------------------------------------------------

I think this is a duplicate of MHIBERNATE-86

      was (Author: [email protected]):
    I think this is a duplicate of MHIBERNATE-83
  
> ClassNotFoundException with hbm2java
> ------------------------------------
>
>                 Key: MHIBERNATE-83
>                 URL: http://jira.codehaus.org/browse/MHIBERNATE-83
>             Project: Maven 2.x Hibernate Plugin
>          Issue Type: Bug
>          Components: hbm2java
>    Affects Versions: 2.2
>         Environment: C:\Projects\java\trunk\harnesshibernate>mvn -v
> Maven version: 2.0.9
> Java version: 1.6.0_03
> OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
>            Reporter: md
>            Assignee: David J. M. Karlsen
>            Priority: Critical
>             Fix For: 2.2
>
>   Original Estimate: 0 minutes
>  Remaining Estimate: 0 minutes
>
> I have hand created a .hbm.xml file and I am attempting to generate the java 
> bean class using the hbm2java goal. I keep getting a ClassNotFoundException 
> no matter what I try. Neither the online documentation or web searches has 
> turned up anything useful. The class it is missing is the one I am trying to 
> generate, so of course it's not going to find it. The question is why is it 
> looking for it in the first place?
> Here is the plugin tag from the pom.xml:
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>hibernate3-maven-plugin</artifactId>
>         <version>2.2-SNAPSHOT</version>
>         <executions>
>           <execution>
>             <id>hbm2java</id>
>             <goals>
>               <goal>hbm2java</goal>
>             </goals>
>             <configuration>
>               <components>
>                 <component>
>                   <name>hbm2java</name>
>                   <outputDirectory>src/main/java/</outputDirectory>
>                   <implementation>configuration</implementation>
>                 </component>
>               </components>
>             </configuration>
>           </execution>
>         </executions>
>       </plugin>
> Here is the hbm.xml file:
> <hibernate-mapping>
>   <class name="net.test.hh.data.Track" table="TRACK">
>       <meta attribute="class-description">
>               Represents a single playable track in the music database.
>       </meta>  
>   
>     <id name="id" column="track_id">
>       <meta attribute="scope-set">protected</meta>
>       <generator class="native" ></generator>
>     </id>
>     
>     <property name="title" type="string" not-null="true"></property>
>     
>     <property name="filePath" type="string" not-null="true"></property>
>     <property name="playTime" type="time">
>       <meta attribute="field-description">Playing Time</meta>
>     </property>
>     <property name="added" type="date">
>       <meta attribute="field-description">When the track was last 
> created</meta>
>     </property>
>     <property name="volume" type="short" not-null="true">
>       <meta attribute="field-description">How loud to play the track</meta>
>     </property>
>   </class>
> </hibernate-mapping>
> here is the 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>
>     <!-- Database connection settings -->
>     <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
>     <property name="connection.url">jdbc:hsqldb:data/music</property>
>     <property name="connection.username">sa</property>
>     <property name="connection.password"></property>
>     <!-- JDBC connection pool (use the built-in) -->
>     <property name="connection.pool_size">1</property>
>     <property name="connection.shutdown">true</property>
>     <!-- SQL dialect -->
>     <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
>     <!-- Enable Hibernate's automatic session context management -->
>     <property name="current_session_context_class">thread</property>
>     <!-- Disable the second-level cache  -->
>     <property 
> name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
>     <!-- Echo all executed SQL to stdout -->
>     <property name="show_sql">true</property>
>     <!-- Drop and re-create the database schema on startup -->
>     <property name="hbm2ddl.auto">create</property>
>     <mapping resource="net/test/hh/data/Track.hbm.xml"/>
>   </session-factory>
> </hibernate-configuration>
> Here's the exception I get:
> Caused by: org.hibernate.MappingException: class net.test.hh.data.Track not 
> found while looking for property: id
>       at 
> org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
>       at 
> org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
>       at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:401)
>       at 
> org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:334)
>       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.addInputStream(Configuration.java:504)
>       at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
>       ... 30 more
> Caused by: java.lang.ClassNotFoundException: net.test.hh.data.Track
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>       at 
> org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
>       at 
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
>       at 
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
>       at 
> org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
>       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:169)
>       at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
>       at 
> org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
>       ... 38 more
> This should have been an easy thing to do. Instead I have lost many hours 
> behind this issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to