Hibernate - Configurazione

Hibernate richiede di sapere in anticipo dove trovare le informazioni di mappatura che definiscono il modo in cui le classi Java si relazionano alle tabelle del database. Hibernate richiede anche una serie di impostazioni di configurazione relative al database e altri parametri correlati. Tutte queste informazioni vengono solitamente fornite come file delle proprietà Java standard chiamatohibernate.propertieso come file XML denominato hibernate.cfg.xml.

Prenderò in considerazione il file formattato XML hibernate.cfg.xmlper specificare le proprietà Hibernate richieste nei miei esempi. La maggior parte delle proprietà assume i propri valori predefiniti e non è necessario specificarli nel file delle proprietà a meno che non sia realmente richiesto. Questo file è conservato nella directory principale del classpath dell'applicazione.

Proprietà di ibernazione

Di seguito è riportato l'elenco delle proprietà importanti, ti verrà richiesto di configurare un database in una situazione autonoma -

Sr.No. Proprietà e descrizione
1

hibernate.dialect

Questa proprietà fa in modo che Hibernate generi l'SQL appropriato per il database scelto.

2

hibernate.connection.driver_class

La classe del driver JDBC.

3

hibernate.connection.url

L'URL JDBC all'istanza del database.

4

hibernate.connection.username

Il nome utente del database.

5

hibernate.connection.password

La password del database.

6

hibernate.connection.pool_size

Limita il numero di connessioni in attesa nel pool di connessioni del database Hibernate.

7

hibernate.connection.autocommit

Consente l'utilizzo della modalità autocommit per la connessione JDBC.

Se si utilizza un database insieme a un server delle applicazioni e JNDI, è necessario configurare le seguenti proprietà:

Sr.No. Proprietà e descrizione
1

hibernate.connection.datasource

Il nome JNDI definito nel contesto del server delle applicazioni, che si sta utilizzando per l'applicazione.

2

hibernate.jndi.class

La classe InitialContext per JNDI.

3

hibernate.jndi.<JNDIpropertyname>

Passa qualsiasi proprietà JNDI desiderata a JNDI InitialContext .

4

hibernate.jndi.url

Fornisce l'URL per JNDI.

5

hibernate.connection.username

Il nome utente del database.

6

hibernate.connection.password

La password del database.

Iberna con il database MySQL

MySQL è uno dei più popolari sistemi di database open source oggi disponibili. Cerchiamo di crearehibernate.cfg.xmlfile di configurazione e posizionarlo nella radice del classpath dell'applicazione. Dovrai assicurarti di averlo fattotestdb database disponibile nel tuo database MySQL e hai un utente test disponibile per accedere al database.

Il file di configurazione XML deve essere conforme alla DTD di configurazione di Hibernate 3, disponibile all'indirizzo http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd.

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
   <session-factory>
   
      <property name = "hibernate.dialect">
         org.hibernate.dialect.MySQLDialect
      </property>
      
      <property name = "hibernate.connection.driver_class">
         com.mysql.jdbc.Driver
      </property>
      
      <!-- Assume test is the database name -->
      
      <property name = "hibernate.connection.url">
         jdbc:mysql://localhost/test
      </property>
      
      <property name = "hibernate.connection.username">
         root
      </property>
      
      <property name = "hibernate.connection.password">
         root123
      </property>
      
      <!-- List of XML mapping files -->
      <mapping resource = "Employee.hbm.xml"/>
      
   </session-factory>
</hibernate-configuration>

Il file di configurazione sopra include <mapping> tag, che sono correlati al file di mappatura di ibernazione e vedremo nel prossimo capitolo cos'è esattamente un file di mappatura di ibernazione e come e perché lo usiamo?

Di seguito è riportato l'elenco di vari tipi di proprietà dialettali di database importanti:

Sr.No. Proprietà database e dialetto
1

DB2

org.hibernate.dialect.DB2Dialect

2

HSQLDB

org.hibernate.dialect.HSQLDialect

3

HypersonicSQL

org.hibernate.dialect.HSQLDialect

4

Informix

org.hibernate.dialect.InformixDialect

5

Ingres

org.hibernate.dialect.IngresDialect

6

Interbase

org.hibernate.dialect.InterbaseDialect

7

Microsoft SQL Server 2000

org.hibernate.dialect.SQLServerDialect

8

Microsoft SQL Server 2005

org.hibernate.dialect.SQLServer2005Dialect

9

Microsoft SQL Server 2008

org.hibernate.dialect.SQLServer2008Dialect

10

MySQL

org.hibernate.dialect.MySQLDialect

11

Oracle (any version)

org.hibernate.dialect.OracleDialect

12

Oracle 11g

org.hibernate.dialect.Oracle10gDialect

13

Oracle 10g

org.hibernate.dialect.Oracle10gDialect

14

Oracle 9i

org.hibernate.dialect.Oracle9iDialect

15

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

16

Progress

org.hibernate.dialect.ProgressDialect

17

SAP DB

org.hibernate.dialect.SAPDBDialect

18

Sybase

org.hibernate.dialect.SybaseDialect

19

Sybase Anywhere

org.hibernate.dialect.SybaseAnywhereDialect