Ruhezustand - Konfiguration
Für den Ruhezustand muss im Voraus bekannt sein, wo sich die Zuordnungsinformationen befinden, die definieren, wie sich Ihre Java-Klassen auf die Datenbanktabellen beziehen. Für den Ruhezustand sind außerdem eine Reihe von Konfigurationseinstellungen erforderlich, die sich auf die Datenbank und andere verwandte Parameter beziehen. Alle diese Informationen werden normalerweise als Standard-Java-Eigenschaftendatei mit dem Namen bereitgestellthibernate.propertiesoder als XML-Datei mit dem Namen hibernate.cfg.xml.
Ich werde XML-formatierte Datei betrachten hibernate.cfg.xmlum die erforderlichen Eigenschaften für den Ruhezustand in meinen Beispielen anzugeben. Die meisten Eigenschaften nehmen ihre Standardwerte an und müssen nicht in der Eigenschaftendatei angegeben werden, es sei denn, dies ist wirklich erforderlich. Diese Datei wird im Stammverzeichnis des Klassenpfads Ihrer Anwendung gespeichert.
Eigenschaften für den Ruhezustand
Im Folgenden finden Sie eine Liste wichtiger Eigenschaften, die Sie in einer eigenständigen Situation für eine Datenbank konfigurieren müssen.
Sr.Nr. | Eigenschaften & Beschreibung |
---|---|
1 |
hibernate.dialect Mit dieser Eigenschaft generiert Hibernate das entsprechende SQL für die ausgewählte Datenbank. |
2 | hibernate.connection.driver_class Die JDBC-Treiberklasse. |
3 | hibernate.connection.url Die JDBC-URL zur Datenbankinstanz. |
4 | hibernate.connection.username Der Datenbank-Benutzername. |
5 | hibernate.connection.password Das Datenbankkennwort. |
6 | hibernate.connection.pool_size Begrenzt die Anzahl der Verbindungen, die im Verbindungspool der Hibernate-Datenbank warten. |
7 | hibernate.connection.autocommit Ermöglicht die Verwendung des Autocommit-Modus für die JDBC-Verbindung. |
Wenn Sie eine Datenbank zusammen mit einem Anwendungsserver und JNDI verwenden, müssen Sie die folgenden Eigenschaften konfigurieren:
Sr.Nr. | Eigenschaften & Beschreibung |
---|---|
1 | hibernate.connection.datasource Der im Anwendungsserverkontext definierte JNDI-Name, den Sie für die Anwendung verwenden. |
2 | hibernate.jndi.class Die InitialContext-Klasse für JNDI. |
3 | hibernate.jndi.<JNDIpropertyname> Übergibt eine beliebige JNDI-Eigenschaft an den JNDI InitialContext . |
4 | hibernate.jndi.url Stellt die URL für JNDI bereit. |
5 | hibernate.connection.username Der Datenbank-Benutzername. |
6 | hibernate.connection.password Das Datenbankkennwort. |
Ruhezustand mit MySQL-Datenbank
MySQL ist eines der beliebtesten Open-Source-Datenbanksysteme, die heute verfügbar sind. Lasst uns erschaffenhibernate.cfg.xmlKonfigurationsdatei und platzieren Sie sie im Stammverzeichnis des Klassenpfads Ihrer Anwendung. Sie müssen sicherstellen, dass Sie habentestdb Datenbank in Ihrer MySQL-Datenbank verfügbar und Sie haben einen Benutzer test verfügbar, um auf die Datenbank zuzugreifen.
Die XML-Konfigurationsdatei muss mit der Hibernate 3-Konfigurations-DTD übereinstimmen, die unter verfügbar ist 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>
Die obige Konfigurationsdatei enthält <mapping> Tags, die sich auf die Hibernatemapping-Datei beziehen, und wir werden im nächsten Kapitel sehen, was genau eine Hibernat-Mapping-Datei ist und wie und warum wir sie verwenden.
Im Folgenden finden Sie eine Liste verschiedener wichtiger Dialekt-Eigenschaftstypen für Datenbanken.
Sr.Nr. | Datenbank- und Dialekteigenschaft |
---|---|
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 |