私はSpring Data Neo4j 2.0で単純なオブジェクト/グラフマッピングを使用しています。ここでは、Spring Dataリポジトリフレームワークを使用して永続操作を実行します。私はNeo4jTemplateで作業するのではなく、リポジトリに取り組んでいます。私はSpring Web MVCコントローラにリポジトリを注入し、コントローラはリポジトリを直接呼び出します。 (中間サービス層なし - 私の操作は一般的にCRUDとファインダークエリです)。Spring Data Neo4jの単純なオブジェクト/グラフマッピングを使用してトランザクションを取得する正しい方法ですか?
私は読み取り操作を行うときに問題はありません。しかし、私が書き込み操作を行うと、私は "NotInTransactionException"を取得します。私の理解では、Neo4jの読み取り操作はトランザクションを必要としませんが、書き込み操作は実行します。
私は単純なOGMに固執したいと仮定して、ここに画像を取り込む最良の方法は何ですか? @Transactionalを使いたいと思っていますが、これをさまざまなリポジトリインターフェースに置くことはできません。コントローラーとリポジトリーの中間に中間のサービス層を導入し、@TransactionalでサービスBeanに注釈を付けると、機能しますが、もっと簡単な方法があるかどうかは疑問です。 Spring Dataがなければ、私は通常、DAO(リポジトリ)の実装にアクセスできるので、パススルーサービス層を避けたい場合は、具体的なDAOに@Transactionalを注釈することができます。 Springデータでは、reposは動的に生成されるため、オプションではないようです。
@リポジトリのトランザクション - インタフェースが動作するはずです。 –