Ich versuche, mit Hibernate zu beginnen, kann aber aus irgendeinem Grund keine Daten einfügen. Es scheint ordnungsgemäß zu funktionieren, da kein Fehler vorliegt, aber wenn ich die Datenbank überprüfe, ist die Tabelle leer. Ich denke nicht, dass es die Verbindung zur Datenbank selbst ist, die fehlschlägt, weil, wenn ich den Tabellennamen zu einem nicht vorhandenen in der Mapping-XML ändere, Hibernate dies im laufenden Betrieb erstellt (Aber wie gesagt, keine Daten eingefügt) . Weiß jemand, was das Problem sein könnte?Daten nicht mit Ruhezustand eingefügt, gibt aber keinen Fehler?
Hier ist mein Code:
hibernate.cfg.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:3306/intex</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></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="intex.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Meine Mapping xml:
<hibernate-mapping>
<class name="com.intex.uni.courses.Course" table="course">
<id name="id" column="id" >
<generator class="increment"/>
</id>
<property name="name" column="name" />
<property name="description" column="description" />
<property name="url" column="url" />
<property name="code" column="code" />
</class>
</hibernate-mapping>
Und mein Test-Client:
public class HibernateTest {
public static void main(String[] args) {
Session session = null;
try {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
Course course = new Course();
course.setDescription("Description");
course.setName("NAME");
course.setUrl("http://www.url.com");
session.save(course);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
session.flush();
session.close();
}
}
}
Ich hoffe wirklich, dass jemand mir helfen kann! Vielen Dank im Voraus :)
Könnten Sie auch die von Hibernate generierte SQL-Nachricht bereitstellen? –