bugfix> java > 投稿

複数のエンティティからデータを選択するストアドプロシージャがありますが、単一のリポジトリからデータを取得していないため、どこで定義する必要がありますか? 私は厳密にこのようなエンティティクラスの単一のテーブルからデータを取得しているストアドプロシージャ固有を定義しました

  @Entity
   @Table(name = "accounts", schema = "ma_db")
   @NamedStoredProcedureQueries({
            @NamedStoredProcedureQuery(name="getAccountsList", procedureName = "GET_ACCOUNT", parameters = {
                    @StoredProcedureParameter(mode = ParameterMode.IN, name = "UserId", type = String.class)
            } )

回答 1 件
  • アプリケーションと問題のSPについての詳細情報なしに伝えることは本当に不可能です。 しかし、ここにいくつかのガイドラインがあります:

    SPが何をしているかを考えてください。関係する主なドメインの概念は何ですか?

    これはエンティティである必要はありません。Javaコードでそのようなエンティティは必要ないかもしれません。おそらく必要であり、まだ気付いていません。

    この状況を見た典型的な例の1つは、レポートまたはエクスポートです。これらはドメインオブジェクトでもありますが、JPAエンティティと一致しないことがよくあります。

    SPを関連付けるエンティティが実際にない場合、おそらく正しい方法は、 JdbcTemplate を使用してSPを実行する単純なクラスを作成することです 。

あなたの答え