Egenskaper som är databasspecifika är:
hibernate.connection.driver_class
:JDBC-drivrutinsklasshibernate.connection.url
:JDBC URLhibernate.connection.username
:databasanvändarehibernate.connection.password
:databaslösenordhibernate.dialect
:Klassnamnet för en Hibernateorg.hibernate.dialect.Dialect
som gör att Hibernate kan generera SQL optimerad för en viss relationsdatabas.
För att ändra databasen måste du:
- Ge en lämplig JDBC-drivrutin för databasen på klasssökvägen,
- Ändra JDBC-egenskaperna (drivrutin, url, användare, lösenord )
- Ändra
Dialect
används av Hibernate för att prata med databasen
Det finns två drivrutiner för att ansluta till SQL Server; jTDS med öppen källkod och Microsoft. Drivrutinsklassen och JDBC-URL:n beror på vilken du använder.
Med jTDS-drivrutinen
Förarklassens namn är net.sourceforge.jtds.jdbc.Driver
.
URL-formatet för sqlserver är:
jdbc:jtds:sqlserver://<server>[:<port>][/<database>][;<property>=<value>[;...]]
Så Hibernate-konfigurationen skulle se ut (observera att du kan hoppa över hibernate.
prefix i egenskaperna):
<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>
Med Microsoft SQL Server JDBC 3.0:
Drivrutinsklassens namn är com.microsoft.sqlserver.jdbc.SQLServerDriver
.
URL-formatet är:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
Så Hibernate-konfigurationen skulle se ut så här:
<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>
Referenser
- Hibernate Core Reference Documentation
- 3.3. JDBC-anslutningar
- 3.4. Valfria konfigurationsegenskaper
- jTDS-dokumentation
- Dokumentation för Microsoft SQL Server JDBC Driver 3.0
- Microsoft SQL Server JDBC Driver 2.0
- Support Matrix för Microsoft SQL Server JDBC-drivrutin