Mit Hibernate Tools generieren Sie Entitätsklassen aus Tabellen

1- Die Vorstellung

This document is based on:
  • Eclipse 4.5 (MARS)

  • Hibernate 5.1.0.Final

  • Hibernate Tools 4.3.1.Final.html

(Last update document: 21-05-2016).
Zuerst stellen Sie sicher, dass Sie  "Hibernate Tools" in  Eclipse installiert. "Hibernate Tools" ist ein Tool in die Tool in Toolkit von   JBoss - "JBoss Tools".
Mehr sehen

2- Die Beispieldatenbank, die in diesem Dokument benutzt wird

Die Datenbank für die Illutration in diesen Artikel ist  "simplehr". Sie können bei... referieren

3- Mit Database durch "Database Development" verbinden

In  Eclipse wählen Sie :
  • Window/Perspective/Open Perspective/Other...
Erstellen Sie eine neue  Connection zur Datenbank  simplehr:
In dieser Anleitung werde ich zu Datenbank  Oracle verbinden. Sie können mit einem andren Daten verbinden. Es ist ganz ähnlich
Drücken Sie auf die Icon um  Driver für Ihre gewählte Datenbank anzumelden
Klicken Sie auf  "Add JAR/Zip"
Geben Sie die Informationen ein um mit Datenbank zu verbinden. Danach klicken Sie auf  "Test Connection" um stellenzusichern, dass die Datenverbindung erfolgreich ist.
Sie können die Struktur Ihrer Datenbank in "Data Source Explorer" ​​​​​​​sehen.
Versuchen Sie, die Daten in einer Tabelle abzufragen ( query)

4- Das Projekt erstellen

Geben Sie ein:
  • Group Id: org.o7planning
  • Artiface Id: HibernateGenerateEntities
Das Projekt wird erstellt
Melden Sie die Bibliothek  Hibernate 5 und die Bibliotheke J DBC für  Oracle, MySQL, SQL Server ​​​​​​​an.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.o7planning</groupId>
  <artifactId>HibernateGenerateEntities</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>HibernateGenerateEntities</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

 <repositories>
     <!-- Repository for ORACLE JDBC Driver -->
     <repository>
         <id>codelds</id>
         <url>https://code.lds.org/nexus/content/groups/main-repo</url>
     </repository>
 </repositories>


  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
   <!-- Hibernate -->
     <!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
     <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-core</artifactId>
         <version>5.1.0.Final</version>
     </dependency>

     <!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
     <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-entitymanager</artifactId>
         <version>5.1.0.Final</version>
     </dependency>


     <!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
     <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-c3p0</artifactId>
         <version>5.1.0.Final</version>
     </dependency>


     <!-- MySQL JDBC driver -->
     <!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java -->
     <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.34</version>
     </dependency>

     <!-- Oracle JDBC driver -->
     <dependency>
         <groupId>com.oracle</groupId>
         <artifactId>ojdbc6</artifactId>
         <version>11.2.0.3</version>
     </dependency>

   <!-- SQLServer JDBC driver (JTDS) -->
   <!-- http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
   <dependency>
       <groupId>net.sourceforge.jtds</groupId>
       <artifactId>jtds</artifactId>
       <version>1.3.1</version>
   </dependency>
            
  </dependencies>
 
</project>

5- Hibenate konfigurieren

"Hibernate Tools" erlaubt, die Konfigurationsfile   Hibernate ganz visuelle zu erstellen. Jetzt werden wir die File "hibernate.cfg.xml" durch das Tool erstellen.
Auf  Eclipse wählen Sie:
  • Window/Perspective/Open Perspective/Other...
Rechtsklicken und wählen Sie "Add Configuration.." um die Konfigurationsfile  Hibernate zu erstellen.
Geben Sie den Name der File  "hibernate.cfg.xml" ein , und setzen Sie sie in dem Verzeichnis "src/main/java" des Projekt .
Sie können die Verbindungsinformation mit Datenbank eingeben oder aus die von Ihnen vorher angemeldeten Verbindungsinformation holen. Klicken Sie auf  "Get values from Connection".
Wählen Sie die Connection  "Oracle (Simplehr)", das Sie vorher erstellt haben. Klicken Sie auf OK um fortzufahren
Zunächst wählen Sie die Klasse  "dialect", die Ihrem Datenbankstyp entspricht. Für  Oracle ist es    Oracle10g. Achtung: Die Klasse dialect "Oracle10g" wird für die Version 10 und 11 von Oracle gemeinsam benutzt .
Klicken Sie auf OK um die Konfiguration zu erledigen.Nach dem Schritt gibt es die File  "hibernate.cfg.xml", die in dem Verzeichnis   src/main/java Ihres Projekt erstellt wird.
Die Konfiguration von  Hibernate wurde erstellt. (auf   Hibernate Configurations view sehen)
Auf "Package Explorer" ​​​​​​​sehen:
  • hibernate.cfg.xml
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
        <property name="hibernate.connection.password">12345</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:db12c</property>
        <property name="hibernate.connection.username">simplehr</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
    </session-factory>
    
</hibernate-configuration>
Zunäscht werden wir konfigurieren, wie das Tool die Klasse  entity aus dem Lesen der Tabelle-struktur in Database erstellt.
  • Window/Perspective/Open Perspective/Hibernate
Achtung: Wenn das Prozess der Erstellung von entity fehlerhaft ist, können Sie die Lösung im Anhang lesen

6- Der Anhang: Der Fehler bei der Erstellung von Entity

Vielleicht bei der Erstellung von  Entity können Sie die Fehler wie folgend treffen
** NoClassDefFoundError **
org.hibernate.console.HibernateConsoleRuntimeException: Received a NoClassDefFoundError,
probably the console configuration classpath is incomplete or contains conflicting versions of the same class
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
org.hibernate.console.HibernateConsoleRuntimeException:
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
java.lang.NoClassDefFoundError: org/apache/commons/collections/MultiMap
org/apache/commons/collections/MultiMap
java.lang.ClassNotFoundException: org.apache.commons.collections.MultiMap cannot be found by org.jboss.tools.hibernate.runtime.v_5_1_5.0.1.Final-v20160331-1852-B88
org.apache.commons.collections.MultiMap cannot be found by org.jboss.tools.hibernate.runtime.v_5_1_5.0.1.Final-v20160331-1852-B88
Sie brauchen konfigurieren, um die ältere Version von  Hibernate zu benutzen
Und laufen Sie wieder um  Entity zu erstellen:

7- Das Tutorial für Hibernate

Können Sie sich interessieren: