Мне нужно использовать необработанный SQL в хранилище данных Spring, возможно ли это? Все, что я вижу около @Query
, всегда основано на сущности.Возможно ли использовать необработанный SQL в репозитории Spring
ответ
Аннотация @Query позволяет выполнять собственные запросы, устанавливая флаг nativeQuery в true.
Цитата из Spring Data JPA reference docs.
Кроме того, см. this section о том, как это сделать с помощью наследуемого запроса.
@ user454322, параметры начинаются с 1, поэтому это: '@Query (value =" SELECT * FROM USERS WHERE EMAIL_ADDRESS =? 1 ", nativeQuery = true)' –
Также можно использовать Spring Data JDBC repository, который представляет собой проект сообщества, созданный на основе Spring Commons для доступа к базам данных с необработанным SQL, без использования JPA.
Он менее мощный, чем Spring Data JPA, но если вы хотите легкое решение для простых проектов, не используя ORM, как Hibernate, это решение стоит попробовать.
мы можем использовать createNativeQuery («Здесь Nagitive SQL Query»);
для примера:
Query q = em.createNativeQuery("SELECT a.firstname, a.lastname FROM Author a");
List<Object[]> authors = q.getResultList();
Would SQLQuery делать? http://static.springsource.org/spring/docs/2.5.x/api/ –
Как я могу использовать это в репозитории? Или я бы не использовал репо и просто использовал этот объект в моем сервисе? – Webnet
Вы используете spring-data-jpa? – zagyi