2016-08-30 4 views
0

私は基本的な春と休止状態のアプリケーションに取り組んでいます。私はデータベースからデータを取得するためにcreateCriteria()メソッドを使用しています。しかし、トランザクションメソッド(beginTransaction()やcommitなど)を削除しました。トランザクションメソッドなしでcriteriaQueriesを使用することは可能ですか? 私は春の取引を使用してこれを達成できることを理解します。しかし、私はHibernateでそれをやりたい誰も私のためにこれを明確にすることはできますか?春の休止状態の統合アプリケーションのcreateCriteriaメソッド

ありがとうございます。

答えて

0

このメソッド呼び出しを削除するのは良いことです。なぜなら、Springはあなたのためにそれを行うことができ、問題の混在を避けるからです。

注釈@Transactionalはメソッドを自動で開始し、トランザクションをコミット(またはExceptionで元に戻す)します。それがあなたの使っているものです。

@Transactionnalアノテーションを動作させるためにSpringは100%魔法ではありませんが、トランザクションマネージャを宣言する必要があります。また、Springコンポーネント(@ Component、@ Repository、@ Bean、...)と非公開メソッドで使用します。

春3プロジェクトでExempleが休止状態4のトランザクションマネージャでもある、とあなたはXMLを使用いけない場合、スプリング4と、あなたが@EnableTransactionManagementとコードでそれを宣言することができます3

<bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

を休止状態使用。

注:@Repositoryでクラスに注釈を付けると、すべてのメソッドがトランザクションになります。

http://docs.spring.io/autorepo/docs/spring/4.2.x/spring-framework-reference/html/transaction.html

関連する問題