Hi Leutz,
Ich bin echt verzeweifelt. Ich hab jetzt mindestens schon 4 Tutorials durch und Hibernate läuft immernoch nicht.
Meine Datenbank läuft und die hibernate config ist korrekt eingestellt und er kann auch zu meiner Datenbank sich verbinden. ( Beim ersten insert den ich ausgeführt hatte, hat Hibernate erstmal alle meine Tabellen gelöscht. Also muss er ja ne Verbindung hergestellt haben ).
Ich benutzt Java 5.0 + Hibernate 3.2.5 + Eclipse + MySQL Datenbank
Als Fehlermeldung bekomm ich immer :
Hibernate: insert into person (name, alter, id) values (?, ?, ?)
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
Anscheind kann die save Methode mit dne Objekt nix anfangen und schreibt daher ? in das Statement und dann kommt natürlich ne SQL Syntaxfehler.. Aber warum kann er mein Objekt nicht benutzen ?
Vielen Dank schonmal für eure Hilfe
hier erstmal meine hibernate config
[/code]
Das ist meine abzubildene Klasse
Und hier die Mapping File dazu. ( Mit Annotations hat garnix geklappt )
Und hier nun der Aufruf.
Ich bin echt verzeweifelt. Ich hab jetzt mindestens schon 4 Tutorials durch und Hibernate läuft immernoch nicht.
Meine Datenbank läuft und die hibernate config ist korrekt eingestellt und er kann auch zu meiner Datenbank sich verbinden. ( Beim ersten insert den ich ausgeführt hatte, hat Hibernate erstmal alle meine Tabellen gelöscht. Also muss er ja ne Verbindung hergestellt haben ).
Ich benutzt Java 5.0 + Hibernate 3.2.5 + Eclipse + MySQL Datenbank
Als Fehlermeldung bekomm ich immer :
Hibernate: insert into person (name, alter, id) values (?, ?, ?)
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
Anscheind kann die save Methode mit dne Objekt nix anfangen und schreibt daher ? in das Statement und dann kommt natürlich ne SQL Syntaxfehler.. Aber warum kann er mein Objekt nicht benutzen ?
Vielen Dank schonmal für eure Hilfe
hier erstmal meine hibernate config
Code:
<?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:3306/test</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="test/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Das ist meine abzubildene Klasse
Code:
package test;
import java.io.Serializable;
import javax.persistence.GeneratedValue;
public class Person implements Serializable
{
private int _id;
private int _alter;
private String _name;
public int get_id() {
return _id;
}
public void set_id(int _id) {
this._id = _id;
}
public int get_alter() {
return _alter;
}
public void set_alter(int _alter) {
this._alter = _alter;
}
public String get_name() {
return _name;
}
public void set_name(String _name) {
this._name = _name;
}
}
Und hier die Mapping File dazu. ( Mit Annotations hat garnix geklappt )
Code:
<?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="test.Person" table="person">
<id name="_id" column="id" >
<generator class="assigned"/>
</id>
<property name="_name" column="name" />
<property name="_alter" column="alter" />
</class>
</hibernate-mapping>
Und hier nun der Aufruf.
Code:
package test;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class test
{
public static void main(String[] args)
{
SessionFactory sessionFactory = new Configuration().configure("/hibernate.cfg.xml").buildSessionFactory();
Session session = null;
Transaction transaction = null;
Person p = new Person();
p.set_alter(21);
p.set_name("dennis");
p.set_id(2);
try
{
session = sessionFactory.openSession();
transaction = session.beginTransaction();
session.save(p);
transaction.commit();
}
catch (HibernateException e)
{
System.out.println(e.toString());
if(transaction != null)
transaction.rollback();
}
session.close();
}
}