Hi zusammen,
ich versuch mich grad an Hibernate mit der Datenbankanbindung. Ich mach nur ein simples Tutorial wo mit Hibernate einfach nur 3 Datensätze in eine DB schreiben soll. Selbst das klappt nicht.
meine Klasse:
Beim Ausführen bekomm ich immer eine Exception:
Exception in thread "main" java.lang.NullPointerException
at tutorial.hibernate.FirstExample.main(FirstExample.java:42)
Das ist genau bei dem Flush. So wie es aussieht scheitert er aber schon an der SessionFactory, weil er mir nichtmal das zweite "Start" auf die Konsole printet.
Datenbankserver läuft und die Datenbank "hibernatetutorial" habe ich angelegt. Die xml Files liegen alle im seleb Package wie die Java Klasse im Eclipse.
Ich würd mich freuen wenn mir jmd helfen kann, bin absoluter Neuling mit Hibernate.
Die Contact Klasse enthält einfach nur Variablen mit den Getter und Setter Methoden.
Meine hibernate.cfg.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernatetutorial</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="contact.hbm.xml"/>
</session-factory>
</hibernate-configuration>
[/XML]
und das contact.hbm.xml Mapping:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="tutorial.hibernate.Contact" table="CONTACT">
<id name="id" type="long" column="ID" >
<generator class="assigned"/>
</id>
<property name="firstName">
<column name="FIRSTNAME" />
</property>
<property name="lastName">
<column name="LASTNAME"/>
</property>
<property name="email">
<column name="EMAIL"/>
</property>
</class>
</hibernate-mapping>
[/XML]
ich versuch mich grad an Hibernate mit der Datenbankanbindung. Ich mach nur ein simples Tutorial wo mit Hibernate einfach nur 3 Datensätze in eine DB schreiben soll. Selbst das klappt nicht.
meine Klasse:
Java:
public class FirstExample {
/**
* @param args
*/
public static void main(String[] args) {
Session session = null;
try{
// This step will read hibernate.cfg.xml
// and prepare hibernate for use
System.out.println("Start");
SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
System.out.println("Start");
session =sessionFactory.openSession();
// Create new instance of Contact and set
// values in it by reading them from form object
System.out.println("Inserting Record");
Contact contact = new Contact();
contact.setId(3);
contact.setFirstName("Deepak");
contact.setLastName("Kumar");
contact.setEmail("deepak_38@yahoo.com");
session.save(contact);
System.out.println("Done");
}catch(Exception e){
System.out.println(e.getMessage());
}
finally{
// Actual contact insertion will happen at this step
session.flush();
// Bei dem Flush kommt immer die Exception
session.close();
}
}
}
Beim Ausführen bekomm ich immer eine Exception:
Exception in thread "main" java.lang.NullPointerException
at tutorial.hibernate.FirstExample.main(FirstExample.java:42)
Das ist genau bei dem Flush. So wie es aussieht scheitert er aber schon an der SessionFactory, weil er mir nichtmal das zweite "Start" auf die Konsole printet.
Datenbankserver läuft und die Datenbank "hibernatetutorial" habe ich angelegt. Die xml Files liegen alle im seleb Package wie die Java Klasse im Eclipse.
Ich würd mich freuen wenn mir jmd helfen kann, bin absoluter Neuling mit Hibernate.
Die Contact Klasse enthält einfach nur Variablen mit den Getter und Setter Methoden.
Meine hibernate.cfg.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernatetutorial</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="contact.hbm.xml"/>
</session-factory>
</hibernate-configuration>
[/XML]
und das contact.hbm.xml Mapping:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="tutorial.hibernate.Contact" table="CONTACT">
<id name="id" type="long" column="ID" >
<generator class="assigned"/>
</id>
<property name="firstName">
<column name="FIRSTNAME" />
</property>
<property name="lastName">
<column name="LASTNAME"/>
</property>
<property name="email">
<column name="EMAIL"/>
</property>
</class>
</hibernate-mapping>
[/XML]