org.hibernate.NonUniqueObjectException

Die Warnung: "SCHWERWIEGEND: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session" kann durch Hibernate ausgelöst werden, wenn man versucht ein Objekt erneut in der Datenbank zu speichern, obwohl es bereits schon einmal während derselben Session gespeichert wurde (und deshalb noch im Cache liegt).
org.hibernate.NonUniqueObjectException weiterlesen

Hibernate-Mapping mit NetBeans

Kurze Anleitung um die Konfiguration für Hibernate zur Objektrelationalen Abbildung von NetBeans erstellen zu lassen:

  1. Project -> Source Packages -> -> New -> Other… -> Hibernate -> Hibernate Configuration Wizard
  2. Project -> Source Packages -> -> New -> Other… -> Hibernate -> Hibernate Reverse Engineering Wizard
  3. Project -> Source Packages -> -> New -> Other… -> Hibernate -> Hibernate Mapping Files and POJO from Database
    JDK 5 Language Features: Yes
    EJB 3 Annotations: Yes
    Domain Code (.java): Yes
    Hibernate XML Mappings (.hbm.xml): No
    Package: persistence

Hibernate Tutorial in Kurzform

Hibernate Tutorials sind oft schwergewichtig und komplex. Aus diesem Grund möchte ich einen kleinen Beispiel-Code veröffentlichen, wie man in Hibernate die Attribute (Variablen) einer Java Klasse (Plain Old Java Object) in einer relationalen Datenbank (MySQL) abspeichert. Weil Hibernate ein Thema für fortgeschrittene Java-Entwickler ist, gehe ich davon aus, dass man anhand des Codes sich die Zusammenhänge erschließen kann.

Hibernate Tutorial in Kurzform weiterlesen

Failed to read auto-increment value from storage engine

Der Fehler „Failed to read auto-increment value from storage engine“ wird durch einen Bug in MySQL-Datenbanken der Version 5.x verursacht. Mir ist dieser Fehler bei der Verbindung von Hibernate mit einer InnoDB-Datenbank-Tabelle aufgefallen. Beim Datenbanktyp „MyISAM“ tritt dieser Bug wohl weniger häufig auf.

Man kann das Ganze wieder in Ordnung bringen, indem man folgenden SQL-Befehl ausführt:
ALTER TABLE `tabellen_name` AUTO_INCREMENT =1