エンティティなしでSpringリポジトリを作成する 質問する

エンティティなしでSpringリポジトリを作成する 質問する

Spring Data リポジトリ インターフェイスを使用してネイティブ クエリを実行したいのですが、複雑さが低いため、この方法が最も簡単だと思います。

しかし、インターフェースを拡張する場合、たとえば、CrudRepository<T, ID>使用できないエンティティである T を記述する必要があります。

ネイティブ クエリは具体的なエンティティを返さないので、エンティティなしで Spring リポジトリを作成する最適な方法は何ですか?

ベストアンサー1

CrudRepositoryまたは、ペアJpaRepositoryなしで動作するように設計されていません<Entity,ID>

カスタム リポジトリを作成し、EntityManager を挿入してそこからクエリを実行する方が適切です。

  @Repository
  public class CustomNativeRepositoryImpl implements CustomNativeRepository {

    @Autowired
    private EntityManager entityManager;

    @Override
    public Object runNativeQuery() {
        entityManager.createNativeQuery("myNativeQuery")
         .getSingleResult();
    }
}

おすすめ記事