Java Tips 要旨 SQLServer JDBCドライバでクエリにバインド変数を使う場合は、接続オプションにSendStringParametersAsUnicode=falseを必ず設定すること。 (クライアントとDBの文字コードが一致している場合のみ) このオプションがTrueのとき、JDBCドライバはパラメータクエリで使われる文字列パラメータをUnicodeに変換して送信する。デフォルトはTrueになっているので注意。 falseのときはデフォルトエンコーディングで送信される。ドライバのドキュメントには「which can improve performance」とあるが、実際には100-1000倍の性能差にもなることがある。 HibernateのFAQでも触れられている。 http://www.hibernate.org/74.html#A22 ↑ 詳細 SQLServ