Eigenschaften, die datenbankspezifisch sind sind:
hibernate.connection.driver_class
:JDBC-Treiberklassehibernate.connection.url
:JDBC-URLhibernate.connection.username
:Datenbankbenutzerhibernate.connection.password
:Datenbankpassworthibernate.dialect
:Der Klassenname eines Hibernateorg.hibernate.dialect.Dialect
Dies ermöglicht es Hibernate, SQL zu generieren, das für eine bestimmte relationale Datenbank optimiert ist.
Um die Datenbank zu ändern, müssen Sie:
- Stellen Sie einen geeigneten JDBC-Treiber für die Datenbank im Klassenpfad bereit,
- Ändern Sie die JDBC-Eigenschaften (Treiber, URL, Benutzer, Passwort )
- Ändern Sie den
Dialect
Wird von Hibernate verwendet, um mit der Datenbank zu kommunizieren
Es gibt zwei Treiber für die Verbindung mit SQL Server; das Open-Source-jTDS und das von Microsoft. Die Treiberklasse und die JDBC-URL hängen davon ab, welche Sie verwenden.
Mit dem jTDS-Treiber
Der Name der Treiberklasse lautet net.sourceforge.jtds.jdbc.Driver
.
Das URL-Format für sqlserver ist:
jdbc:jtds:sqlserver://<server>[:<port>][/<database>][;<property>=<value>[;...]]
Die Hibernate-Konfiguration würde also so aussehen (beachten Sie, dass Sie hibernate.
überspringen können Präfix in den Eigenschaften):
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:jtds:sqlserver://<server>[:<port>][/<database>]</property>
<property name="connection.username">sa</property>
<property name="connection.password">lal</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
...
</session-factory>
</hibernate-configuration>
Mit Microsoft SQL Server JDBC 3.0:
Der Name der Treiberklasse lautet com.microsoft.sqlserver.jdbc.SQLServerDriver
.
Das URL-Format ist:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
Die Hibernate-Konfiguration würde also folgendermaßen aussehen:
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="connection.url">jdbc:sqlserver://[serverName[\instanceName][:portNumber]];databaseName=<databaseName></property>
<property name="connection.username">sa</property>
<property name="connection.password">lal</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
...
</session-factory>
</hibernate-configuration>
Referenzen
- Hibernate Core Reference Documentation
- 3.3. JDBC-Verbindungen
- 3.4. Optionale Konfigurationseigenschaften
- jTDS-Dokumentation
- Microsoft SQL Server JDBC-Treiber 3.0-Dokumentation
- Microsoft SQL Server JDBC-Treiber 2.0
- Support-Matrix für Microsoft SQL Server JDBC-Treiber