SQL ServerのHibernate Configファイルを構成する方法
-
01-10-2019 - |
質問
これが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
: :冬眠のクラス名org.hibernate.dialect.Dialect
これにより、Hibernateは特定のリレーショナルデータベースに最適化されたSQLを生成できます。
データベースを変更するには、次のことが必要です。
- クラスパスのデータベースに適切なJDBCドライバーを提供し、
- JDBCプロパティを変更します(ドライバー、URL、ユーザー、パスワード)
- 変更
Dialect
Hibernateがデータベースと通信するために使用します
SQL Serverに接続する2つのドライバーがあります。オープンソース JTDS そしてマイクロソフトのもの。ドライバークラスとJDBC URLは、使用するものによって異なります。
JTDSドライバーと
ドライバークラス名はです 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>
Microsoft SQL Server JDBC 3.0で:
ドライバークラス名はです com.microsoft.sqlserver.jdbc.SQLServerDriver
.
URL形式は次のとおりです。
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
したがって、冬眠構成は次のようになります。
<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>
参照
他のヒント
接続URLは、SQL Serverの場合は次のようになります。
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接続を有効にすることを忘れないでください
最後にこれが向上します Hibernate 5
の Tomcat
.
上記のすべての答えをまとめて、魅力のように機能する私のヒントを追加しました 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>
jarを含めて識別できない場合に備えて、jarファイルをWeb-inf libの下に保管してください。
私の場合、すべてが大丈夫だったが、ドライバークラスをロードすることができなかった。