Мне нравится идея использования интерфейса, который расширяет JpaRepository<T, ID>
. Это очень ясно и элегантно. Я также знаю, что этот интерфейс всегда нуждается в типе объекта. Но иногда у меня нет сущности, но я хочу использовать этот способ взаимодействия с БД. Я уже могу использовать методы, которые взаимодействуют с сущностью A
(или у которой даже нет сущности) в B
хранилище сущностей (JpaRepository<B, ID>
), поэтому, очевидно, это не проблема для JPA
. Но это не так понятно и элегантно. Я хочу что-то вроде этого:
public interface ICustomTableRepo extends JpaRepository<Void, Void> {
@Query(nativeQuery = true, value = "SELECT * FROM custom_table")
List<Object[]> getAllFromCustomTable();
}
Я хочу аннотировать объявление метода с @Query
, который имеет запрос SQL.
Вы можете видеть, что я не хочу использовать сущность в этоминтерфейс вообще. Но, конечно, JpaRepository
с <Void, Void>
не работает.
Итак, как я могу использовать тот или иной тип взаимодействия с БД без EntityManager
и без JpaRepository
с другой сущностью?