MySQLの設定ファイルは次のとおりです。
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">zgy01</property>
<property name="hibernate.connection.pool_size">100</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Mapping files -->
<mapping resource="model.hbm.xml"/>
</session-factory>
</hibernate-configuration>
SQL Server 2005に指定するもの私はこのようにしました:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">com.Microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">lal</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.pool_size">100</property>
<property name="show_sql">false</property>
<!-- Mapping files -->
<mapping resource="model.hbm.xml"/>
</session-factory>
</hibernate-configuration>
私の質問は、より正確には、接続する必要があるデータベースを指定する方法ですか?
MySQLでは、これを次のように実行していました。
<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
データベース固有のプロパティは次のとおりです。
hibernate.connection.driver_class
:JDBCドライバークラスhibernate.connection.url
:JDBC URLhibernate.connection.username
:データベースユーザーhibernate.connection.password
:データベースパスワードhibernate.dialect
:Hibernateのクラス名org.hibernate.dialect.Dialect
これにより、Hibernateは特定のリレーショナルデータベース用に最適化されたSQLを生成できます。データベースを変更するには、以下を行う必要があります。
Dialect
を変更しますSQL Serverに接続する2つのドライバーがあります。オープンソース jTDS およびMicrosoftのもの。ドライバクラスとJDBC URLは、どちらを使用するかによって異なります。
ドライバークラス名はnet.sourceforge.jtds.jdbc.Driver
。
SqlserverのURL形式は次のとおりです。
jdbc:jtds:sqlserver://<server>[:<port>][/<database>][;<property>=<value>[;...]]
そのため、Hibernateの構成は次のようになります(hibernate.
プレフィックスのプロパティ):
<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>
ドライバークラス名はcom.Microsoft.sqlserver.jdbc.SQLServerDriver
。
URL形式は次のとおりです。
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
したがって、Hibernateの構成は次のようになります。
<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>
SQL Serverの場合、接続URLは次のようになります。
jdbc:sqlserver://serverName[\instanceName][:port][;databaseName=your_db_name]
例:
jdbc:sqlserver://localhost
jdbc:sqlserver://127.0.0.1\INGESQL:1433;databaseName=datatest
...
また、SQSERVERのデフォルトスキーマに言及する必要があります:dbo
<property name="hibernate.default_schema">dbo</property>
Hibernate 4でテスト済み
SQL SERVER構成ツールでTCP/IP接続を有効にすることを忘れないでください
最後に、これはTomcat
のHibernate 5
用です。
上記のすべての回答をコンパイルし、Hibernate 5 and SQL Server 2014
の魅力のように機能する私のヒントを追加しました。
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="hibernate.connection.driver_class">
com.Microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="hibernate.connection.url">
jdbc:sqlserver://localhost\ServerInstanceOrServerName:1433;databaseName=DATABASE_NAME
</property>
<property name="hibernate.default_schema">theSchemaNameUsuallydbo</property>
<property name="hibernate.connection.username">
YourUsername
</property>
<property name="hibernate.connection.password">
YourPasswordForMSSQL
</property>