IDE - NetBeans 6.1
БД - MySQL (база Man с одной табличкой)
Пытаюсь поработать с ней по хиберу. Вот коды:
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>
<property name="connection.driver_class"> com.mysql.jdbc.Driver </property>
<property name="connection.url"> jdbc:mysql://localhost/Man </property>
<property name="connection.username"> root </property>
<property name="connection.password"> 12345 </property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<mapping resource="src/dbclient/Man.hbm.xml"/>
</session-factory>
</hibernate-configuration>Man.hbm.xml
Код:
<hibernate-mapping>
<class name="Man" table="Man">
<!-- A 32 hex character is our surrogate key. It's automatically
generated by Hibernate with the UUID pattern. -->
<id name="m_id" type="int" unsaved-value="null" >
<column name="m_id" sql-type="int" not-null="true"/>
<generator class="assigned"/>
</id>
<!-- A cat has to have a name, but it shouldn' be too long. -->
<property name="name">
<column name="n_name" length="16" not-null="true"/>
</property>
<property name="weight"/>
</class>
</hibernate-mapping>Man.class
Код:
public class Man {
private int m_id;
private String name;
private int weight;
void setName(String n){
this.name=n;
}
String getName(){
return name;
}
void setWeight(int w){
this.weight=w;
}
int getWeight(){
return weight;
}
}Main.class
Код:
import org.hibernate.*;
import org.hibernate.cfg.*;
import java.util.Iterator;
/**
*
* @author Grace
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
// SessionFactory F=new Configuration().configure().buildSessionFactory();
Configuration cfg= new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory F=cfg.buildSessionFactory();
Session s=F.openSession();
Transaction t=s.beginTransaction();
Query q=s.createQuery("select * from man m");
for(Iterator i=q.iterate(); i.hasNext()
{
Man x=(Man)i.next();
System.out.println("Name"+x.getName()+"; Weight"+x.getWeight());
}
t.commit();
}
}
В итоге дает вот такую ругань:
Код:
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at dbclient.Main.main(Main.java:22)
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at java.net.URLClassLoader$1.run(URLClassLoader.java:220)
at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:208)
at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:270)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:338)
... 1 more
Java Result: 1
Что может быть не так? (подозрения на конфигу...)