Использование Hibernate Tools генерирует классы сущностей из таблиц
View more Tutorials:
-
-
1- Introduction
-
This document is based on:
-
-
Eclipse 4.5 (MARS)
-
Hibernate 5.1.0.Final
-
Hibernate Tools 4.3.1.Final.html
-
-
Для начала, вам нужно удостовериться что вы установили "Hibernate Tools" в Eclipse. "Hibernate Tools" это один из инструментов в JBoss - "JBoss Tools".
-
-
Смотрите так же:
-
2- Database for example, used in this document
-
-
База данных, использующаяся для иллюстрации в данной статье является "simplehr". Можете посмотреть по ссылке:
-
3- Connect to the database via the "Database Development"
-
В Eclipse выбрать :
-
- Window/Perspective/Open Perspective/Other...
-
-
-
Создать новое connection к базе данных simplehr:
-
-
В данном руководстве я соединю к базе данных Oracle. Вы можете соединить к другой базе данных, способ выполнения будет абсолютно таким же.
-
-
Нажмите на значок, чтобы объявить Driver для выбранной вами базы данных.
-
-
-
Нажмите на "Add JAR/Zip"
-
-
Введите информацию, чтобы подключить к базе данных. Затем, нажмите "Test Connection" чтобы удостовериться в успешном подключении к базе данных.
-
-
-
-
-
Вы моежете увидеть структуру вашей базы данных в "Data Source Explorer".
-
-
Попробуйте запросить query данные в таблице.
-
-
-
4- Create Project
-
-
-
-
Enter:
-
- Group Id: org.o7planning
- Artiface Id: HibernateGenerateEntities
-
-
Project создан:
-
-
Объявить библиотеку Hibernate 5, и библиотеки JDBC для Oracle, MySQL, SQL Server.
-
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- Configuring Hibenate
-
"Hibernate Tools" позволяют создать визуальный файл конфигурации Hibernate. Теперь мы создадим файл "hibernate.cfg.xml" используя этот инструмент.
-
В Eclipse выбрать:
-
- Window/Perspective/Open Perspective/Other...
-
-
-
-
Нажмите на правую мышь и выберите "Add Configuration.." чтобы создать файл конфигурации Hibernate.
-
-
-
-
Введите название файла "hibernate.cfg.xml", и положите в файл "src/main/java" в Project.
-
-
Вы можете ввести информацию в соединении базы данных или получить информацию подключения, которую вы объявляли ранее. Нажмите на "Get values from Connection".
-
-
Выберите Connection "Oracle (Simplehr)", которое вы создали ранее. Нажмите ОК чтобы продолжить.
-
-
-
Далее, выберите класс "dialect" соответствующий виду вашей базы данных. Для Oracle это будет Oracle10g, заметьте что класс dialect "Oracle10g" используется для 2 версий 10 и 11 Oracle.
-
-
Нажмите ОК, чтобы завершить конфигурацию. После этого будет файл "hibernate.cfg.xml" созданный в файле src/main/java вашего Project.
-
-
Конфигурация Hibernate создана. (Смотрите на Hibernate Configurations view)
-
-
Смотрите на "Package Explorer":
-
-
- 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>
-
Далее мы конфигурируем, способ инструмента создавать классы entity из чтения структуры таблицы в Database.
-
- Window/Perspective/Open Perspective/Hibernate
-
-
-
-
-
-
-
-
-
-
Заметка: Если процесс создания entity не удастся вы можете посмотреть как решить эту проблему в аппендиксе.
-
-
-
6- Appendix: Error while generating the entities
-
Может при создании Entity вы получите следующие ошибки:
-
-
** 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
-
Вам нужно конфигурировать используя старую версию Hibernate.
-
-
-
-
Перезапустите для пересоздания Entity:
-
-
-
7- Hibernate Tutorial
-
Может вас интересует: