1

このプロジェクトでは Hibernate と Spring MVC を使用しています。

私はこのコードを持っています:

...

int count = (Integer) this.getSession().createSQLQuery(sql).list().get(0);

this.getSession().close();

return count;

を使用するthis.getSession.close()必要がありますreleaseSession(this.getSession())か??

これら2つの方法の違いを理解するのに苦労しています..

ありがとう!

4

1 に答える 1

2

HibernateDaoSupport は Spring フレームワークによって提供されるサポートであり、 releaseSession() が呼び出されると、トランザクションではなく休止状態セッションのみを終了します。ただし、hibernate の session.close() を実行すると、トランザクションも終了します。これらのトランザクションを自分で処理する必要はないと思います。それらを処理するために春に任せてください。@Transactional がそれらを処理します。必要な場所で定義するだけです。

于 2013-07-29T15:14:37.247 に答える