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();
}
}