MySQL Datenbank mit Hibernate befüllen

Status
Nicht offen für weitere Antworten.

chris01

Mitglied
Hi,

ich befasse mich gerade etwas mit Hibernate, dabei habe ich nun leider ein Problem. Ich habe alle Dateien wie in diesem Beispiel angelegt: http://www.laliluna.de/first-hibernate-example-tutorial.html , aber leider trägt er mir nichts in die Datenbank ein. Das Programm liefert mir folgendes zurück:

Code:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Inserting Record
Hibernate: select max(id) from honey
Done
Hibernate: insert into honey (name, taste, id) values (?, ?, ?)

Hier nochmal mein Code

HibernateTest.java

Code:
package de.test.util.Hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import de.test.util.main.*;

public class HibernateTest {
  public static void main(String[] args) {
    Session session = null;

    try{
      // This step will read hibernate.cfg.xml and prepare hibernate for use
      SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
       session = sessionFactory.openSession();
        //Create new instance of Contact and set values in it by reading them from form object
         System.out.println("Inserting Record");
        Honey honey = new Honey();
        honey.setTaste("Test");
        honey.setName("none");
        session.save(honey);
        System.out.println("Done");
    }catch(Exception e){
      System.out.println(e.getMessage());
    }finally{
      // Actual contact insertion will happen at this step
      session.flush();
      session.close();

      }
    
  }
}

Honey.java

Code:
package de.test.util.main;

public class Honey {
	private Integer id;
	private String name;
	private String taste;
	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the taste
	 */
	public String getTaste() {
		return taste;
	}
	/**
	 * @param taste the taste to set
	 */
	public void setTaste(String taste) {
		this.taste = taste;
	}
	

	

}

hibernate.cfg.xml

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.url">jdbc:mysql://localhost/hibernate</property>
	<property name="connection.username">root</property>
	<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
	<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
	<property name="connection.password"><password></property>
 <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <!--  thread is the short name for
      org.hibernate.context.ThreadLocalSessionContext
      and let Hibernate bind the session automatically to the thread
    -->
    <property name="current_session_context_class">thread</property>
    
    <property name="hibernate.show_sql">true</property>
 
	
	<mapping resource="test.hbm.xml" />

</session-factory>
</hibernate-configuration>

test.hbm.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
 <class name="de.test.util.main.Honey" table="honey">
 <id name="id" column="id" type="java.lang.Integer">
 <generator class="increment"/>
 </id>
 <property name="name" column="name" type="java.lang.String" />
 <property name="taste" column="taste" type="java.lang.String" />
 </class>
</hibernate-mapping>

Die Datenbank(name: hibernate) sieht so aus:
Tabellenname: honey

ID | name | taste


Leider kriege ich sonst keine Fehlermeldungen und würde mich sehr freuen, wenn mir jemand helfen würde!

Gruß

Chris
 

*Hendrik

Bekanntes Mitglied
http://www.laliluna.de/first-hibernate-example-tutorial.html - hier steht:

Configuring Log4J

As you can see above we added the log4j library. This library does like a configuration file in the source directory or it welcomes you with the following error.
log4j:WARN No appenders could be found for logger (TestClient).
log4j:WARN Please initialize the log4j system properly.

Also:
Create a file named log4j.properties in the root directory and insert the following: ...
 

chris01

Mitglied
Das habe ich gemacht, nun bekomme ich diese Ausgaben:

16:27:45,171 INFO Environment:514 - Hibernate 3.2.5
16:27:45,203 INFO Environment:547 - hibernate.properties not found
16:27:45,234 INFO Environment:681 - Bytecode provider name : cglib
16:27:45,234 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling
16:27:45,312 INFO Configuration:1426 - configuring from resource: /hibernate.cfg.xml
16:27:45,312 INFO Configuration:1403 - Configuration resource: /hibernate.cfg.xml
16:27:45,546 INFO Configuration:553 - Reading mappings from resource : test.hbm.xml
16:27:45,656 INFO HbmBinder:300 - Mapping class: de.test.util.main.Honey -> hibernate
16:27:45,671 INFO Configuration:1541 - Configured SessionFactory: null
16:27:45,750 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
16:27:45,750 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
16:27:45,750 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
16:27:45,750 INFO DriverManagerConnectionProvider:80 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/hibernate
16:27:45,750 INFO DriverManagerConnectionProvider:86 - connection properties: {user=root, password=****}
16:27:48,750 INFO SettingsFactory:89 - RDBMS: MySQL, version: 5.1.22-rc-community
16:27:48,750 INFO SettingsFactory:90 - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.3-rc ( Revision: ${svn.Revision} )
16:27:48,781 INFO Dialect:152 - Using dialect: org.hibernate.dialect.MySQLDialect
16:27:48,796 INFO TransactionFactoryFactory:34 - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
16:27:48,796 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
16:27:48,796 INFO SettingsFactory:143 - Automatic flush during beforeCompletion(): disabled
16:27:48,796 INFO SettingsFactory:147 - Automatic session close at end of transaction: disabled
16:27:48,796 INFO SettingsFactory:154 - JDBC batch size: 15
16:27:48,796 INFO SettingsFactory:157 - JDBC batch updates for versioned data: disabled
16:27:48,796 INFO SettingsFactory:162 - Scrollable result sets: enabled
16:27:48,796 INFO SettingsFactory:170 - JDBC3 getGeneratedKeys(): enabled
16:27:48,796 INFO SettingsFactory:178 - Connection release mode: auto
16:27:48,796 INFO SettingsFactory:202 - Maximum outer join fetch depth: 2
16:27:48,796 INFO SettingsFactory:205 - Default batch fetch size: 1
16:27:48,796 INFO SettingsFactory:209 - Generate SQL with comments: disabled
16:27:48,796 INFO SettingsFactory:213 - Order SQL updates by primary key: disabled
16:27:48,796 INFO SettingsFactory:217 - Order SQL inserts for batching: disabled
16:27:48,796 INFO SettingsFactory:386 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
16:27:48,796 INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory
16:27:48,796 INFO SettingsFactory:225 - Query language substitutions: {}
16:27:48,796 INFO SettingsFactory:230 - JPA-QL strict compliance: disabled
16:27:48,796 INFO SettingsFactory:235 - Second-level cache: enabled
16:27:48,796 INFO SettingsFactory:239 - Query cache: disabled
16:27:48,796 INFO SettingsFactory:373 - Cache provider: org.hibernate.cache.NoCacheProvider
16:27:48,796 INFO SettingsFactory:254 - Optimize cache for minimal puts: disabled
16:27:48,796 INFO SettingsFactory:263 - Structured second-level cache entries: disabled
16:27:48,812 INFO SettingsFactory:283 - Echoing all SQL to stdout
16:27:48,812 INFO SettingsFactory:290 - Statistics: disabled
16:27:48,812 INFO SettingsFactory:294 - Deleted entity synthetic identifier rollback: disabled
16:27:48,812 INFO SettingsFactory:309 - Default entity-mode: pojo
16:27:48,812 INFO SettingsFactory:313 - Named query checking : enabled
16:27:48,843 INFO SessionFactoryImpl:161 - building session factory
16:27:49,125 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
Inserting Record
16:27:49,171 DEBUG SQL:401 - select max(ID) from hibernate
Hibernate: select max(ID) from hibernate
Done
16:27:49,218 DEBUG SQL:401 - insert into hibernate (name, taste, ID) values (?, ?, ?)
Hibernate: insert into hibernate (name, taste, ID) values (?, ?, ?)

Aber das Problem das er die Daten nicht einträgt besteht leider immer noch...

Gruß

Chris
 
G

Guest

Gast
autocommit mode: false

Starte eine Transaktion und führe commit()/rollback() aus.
 

*Hendrik

Bekanntes Mitglied
Was mir in Deiner Testklasse auffällt, ist das Fehlen des Startens einer Transaktion - wie z.B. bei Deiner verlinkten Seite in der Methode createHoney(); Schau Dir die Methode an und ändere Deine Testklasse entsprechend, so dass eine Transaktion verwendet wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S Datenbank MySQL und Java Datenbankprogrammierung 8
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
N MySQL Datenbank lokal Datenbankprogrammierung 3
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
M In MySql Datenbank schreiben Datenbankprogrammierung 6
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3
S Verbindungsaufbau zu MySql Datenbank nicht möglich Datenbankprogrammierung 3
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
MiMa Mehrfacheinträge in MySQL Datenbank Datenbankprogrammierung 5
M Mysql-Datenbank connecten (Eigenes Framework) Datenbankprogrammierung 10
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
E Zugriff auf MySQL-Datenbank Datenbankprogrammierung 4
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4
A MySQL MySQL Datenbank einbinden in GWT Datenbankprogrammierung 6
J Zugriff auf MySQL-Datenbank Datenbankprogrammierung 5
S MySQL Koreanische Schriftzeichen in MySQL Datenbank schreiben Datenbankprogrammierung 11
M Datenbank (MySQL) auslesen Datenbankprogrammierung 3
S Java Connection to MySQL Datenbank FunPic Datenbankprogrammierung 4
G Suchfunktion mit Java in Mysql Datenbank Datenbankprogrammierung 7
M Auf MySQL Datenbank mit Java zugreifen Datenbankprogrammierung 4
M MySQL Datenbank mit Java routen Datenbankprogrammierung 2
F Connection refused: connect Bei Verbindungsherstellung zu MySQL Datenbank Datenbankprogrammierung 3
vandread mySQL Datenbank erstellen? Datenbankprogrammierung 4
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
E Wie auf eine MySql Datenbank zugreifen Datenbankprogrammierung 25
G MySQL: Anfragen von Bits aus der Datenbank Datenbankprogrammierung 3
R Entfernte MySQL Datenbank für lokale Swing-App Datenbankprogrammierung 8
C MySQL Datenbank starten Datenbankprogrammierung 4
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
W Auslesen von Tabellen einer MYSql Datenbank Datenbankprogrammierung 25
A Java-Applet -> MySQL Datenbank Datenbankprogrammierung 7
M Mysql datenbank auslesen und mittels servlet wiedergeben Datenbankprogrammierung 3
N Problem mit Verbindung zu externer MySQL Datenbank Datenbankprogrammierung 8
G SSH Verbindung zur (MySQL-)Datenbank Datenbankprogrammierung 6
M Sicherheit bei Applet auf MySQL Datenbank Datenbankprogrammierung 4
L Bilder in MySQL-Datenbank via Java verwalten Datenbankprogrammierung 5
B Eintrag in der MySQL Datenbank eintragen? Datenbankprogrammierung 2
M MySQL-Datenbank über Java ansprechen Datenbankprogrammierung 5
Z Auslesen aus einer mySQL Datenbank Datenbankprogrammierung 4
M MySQL Datenbank einbinden - Riesenproblem Datenbankprogrammierung 6
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Mit Java Data Objects Daten in einer MySQL-Datenbank manipul Datenbankprogrammierung 9
C Verbindung zur MySQL Datenbank scheiter. "Bad handshake Datenbankprogrammierung 2
D mysql Standalone Datenbank Datenbankprogrammierung 6
R Wie ist URL zu meiner MySQL Datenbank? Name?Pwd? Datenbankprogrammierung 2
K keine Verbindung zu mysql Datenbank Datenbankprogrammierung 11
B double Array in MySQL Datenbank speichern/laden Datenbankprogrammierung 12
D Kann nicht auf MySQL Datenbank Zugriff Datenbankprogrammierung 9
F Abfrage eines DB Feldes aus einer mySQL Datenbank Datenbankprogrammierung 2
L Verbindung zu MySQL-Datenbank Datenbankprogrammierung 2
S Daten aus einer MySQL-Datenbank auslesen Datenbankprogrammierung 7
S Problem bei Eingabe von Dateipfad in eine MySQL-Datenbank Datenbankprogrammierung 4
welterde Objekte in Mysql Datenbank speichern Datenbankprogrammierung 3
R Zugriff auf MySQL-Datenbank im Internet Datenbankprogrammierung 13
X Vectoren in mySQL-Datenbank speichern und auslesen Datenbankprogrammierung 8
F Problem mit MySQL-Datenbank und Java-Applet Datenbankprogrammierung 2
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben