0

Hibernate で sp_execute を使用しないようにする方法はありますか?

このコードを検討してください

String queryString = "SET DEADLOCK_PRIORITY LOW;";
SQLQuery query = session.createSQLQuery(queryString);
return query.executeUpdate();

それはsp_prepare、次にsp_executeに変わり、目的を無効にします: このステートメントを実行した後、セッションのデッドロックの優先度は NORMAL に戻ります

.NET では、次のコードはステートメントを直接実行し、セッションの優先度は (必要に応じて) LOW のままです。

command = new SqlCommand("SET DEADLOCK_PRIORITY LOW", _Connection);
command.ExecuteNonQuery();

同じ方法でHibernateにステートメントを送信させる方法は?

4

1 に答える 1

1

私はそれを達成する方法を見つけました。

String statementText = "SET DEADLOCK_PRIORITY LOW;";
Statement s = session.connection().createStatement();
s.execute(statementText);

ただし、connection() は「非推奨であり、Hibernate 4.x で削除される予定です」(ここで説明)

于 2011-12-22T18:03:50.080 に答える