Я работаю над веб-приложением, используя угловые значения js, spring mvc и spring jpa. Мне интересно, есть ли что-то похожее на критерии и detachedcriteria (hibernate) для создания расширенных запросов с данными весны jpa.Критерии весенних данных
ответ
Да, вы можете использовать Specifications, который в основном использует API критериев (очевидно, поскольку Spring Data JPA - это всего лишь оболочка JPA).
Каков наилучший способ сохранить объект, ссылающийся на 2 других объекта? как это сделать только с одним запросом. (без их извлечения из базы данных). – housseminfo
Вы должны задать это как новый вопрос (и принять мой ответ, если он поможет вам в первом вопросе). – dunni
Также вы должны прочитать http://stackoverflow.com/help, особенно часть «Asking». – dunni
Ничто не мешает вам по-прежнему с использованием критериев
@Repository
public interface FooRepository extends JpaRepository<Foo, Long>, FooRepositoryCustom {
}
interface FooRepositoryCustom {
public List<Foo> findByBar(Bar bar);
}
class FooRepositoryImpl implements FooRepositoryCustom {
@PersistenceContext
protected EntityManager em;
@Transactional(readOnly = true)
public List<Foo> findByBar(Bar bar) {
Criteria crit = em.unwrap(Session.class).createCriteria(Foo.class);
crit.add(Restrictions.eq("name", bar.getName()));
...
crit.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY);
List<Foo> foos = crit.list();
return foos;
}
}
Вы можете использовать критерии с Spring Data, вам не нужен пользовательский репозиторий, Вы можете использовать JpaSpecificationExecutor, вот пример:
Ваше хранилище:
@Repository("yourRepository")
public interface YourRepository extends JpaRepository, JpaSpecificationExecutor
{
}
ваш сервис
@Override
public List<YourModel> yourDataModel getAllEntitiesByAttr(String attrValue){
List<YourModel> yourDataModel = null;
try {
Specification specification=getAndSpecByAttribute("attribute",attrValue);
List list = userRepository.findAll(specification);
yourDataModel =orikaMapper.mapAsList(list, YourModel.class);
} catch (Exception e) {
throw e;
}
return yourDataModel;
}
private Specification getAndSpecByAttribute(String attribute, String valueAttribute){
return new Specification() {
@Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) {
Path path = root.get(attribute);
return cb.equal(path, valueAttribute);
};
};
}
Достаточно.
- 1. Пользовательские резервные хранилища данных весенних данных
- 2. данных в критерии выражения
- 3. весной остальные данные против весенних JPA данных
- 4. Как использовать @Cacheable в репозиториях весенних данных
- 5. Весна Statemachine persister для весенних данных
- 6. Преобразуйте список в страницу весенних данных mongo?
- 7. Как разрешить slf4j зависимость весенних данных gemfire?
- 8. Аннотация бесплатное решение для весенних данных
- 9. Невозможно загрузить ресурс в проекте весенних данных
- 10. Агрегация данных весенних загрузок с MongoDB
- 11. Агрегационная поддержка весенних данных Упругий поиск
- 12. Пример весенних данных Solr Facet Range?
- 13. Использование @Version в проекте весенних данных
- 14. Ошибка весенних меток при отправке данных контроллеру
- 15. Не строгое неравенство в запросах весенних данных
- 16. данных в экспрессии критерии исключения
- 17. репозиторий весенних настроек
- 18. Логика весенних контроллеров
- 19. Перемещение на многоуровневые разрывы Реализация данных весенних данных
- 20. Правила наследования весенних @Transactional
- 21. CompletableFuture против Весенних Сделок
- 22. уточнение менеджера транзакций весенних партий
- 23. Усвоение сопоставления весенних запросов
- 24. Жизненный цикл весенних бобов
- 25. Тестирование весенних защищенных страниц
- 26. Преимущества использования весенних стереотипов?
- 27. Отключить запись весенних каникул
- 28. Какой порядок весенних бобов?
- 29. Цепочка весенних партийных заданий
- 30. Быстрое развертывание весенних приложений
Возможный дубликат [Динамические данные весны jpa-запроса репозитория с произвольными предложениями AND] (http://stackoverflow.com/questions/28874135/dynamic-spring-data-jpa-repository-query-with-arbitrary-and-clauses) – iamiddy