Pull to refresh

Comments 12

Оу, крайне интересная штука. Я почему-то считал, что она только для no-sql. Спасибо!
она модульная и есть очень много интересных решений для EJB…
К сожалению, не поддерживает Java Configuration.
Я бы ещё добавил абзац про Custom Implementation
Бывает, что нужная операция не помещается в название метода и один запрос @Query. Да и использовать CriteriaBuilder иногда сложновато. Тогда на помощь могут прийти эти самые custom implementations, чтобы написать что-то, напрямую используя EntityManager (или похожие классы для NoSql источников данных)
А тут небольшой реальный пример. Оно полезно и с другой стороны, при рефакторинге с целью перехода на Spring Data JPA. Допустим есть большой проект, где все операции идут через EntityManager. Делаем кастом репозитории на все это, а потом постепенно переводим на @Query/Query from method names/Specification убирая методы из кастом репозитория.
Все бы ничего, но CrudRepository в текущей версии не существует, переведенная документация не актуальна. Но есть интерфейс JpaRepository и имплементация SimpleJpaRepository. Причем у SimpleJpaRepository нет дифолтного конструктора, очень удобно :) Поигрался я с этой поделкой и решил что использовать пока что не стану, рановато.

Делал CRUD репзитории подобным не красивым образом:
@Repository
public class SmartModelRepositoryImpl extends SimpleJpaRepository<SmartModel, Long> implements
SmartModelRepository<SmartModel, Long> {

public SmartModelRepositoryImpl(Class domainClass, EntityManager em) {
super(domainClass, em);
}

@Autowired
public SmartModelRepositoryImpl(SharedEntityManagerBean emb) {
this(SmartModel.class, emb.getObject());
}

}

+

/>

Печальный парсер, там было описание спринг-бина image
Конечно, его нет в самом spring-data-jpa, зато он есть в spring-data-commons-core
Для меня это было не очевидно, но тем не менее поиграть с этой библиотекой у меня получилось. Спасибо за уточнение.
Поработал плотнее с этой библиотекой (перевел на не один небольшой проект, где ранее было сделано на code.google.com/p/hibernate-generic-dao/), мнение изменилось в положительную сторону, можно сказать код стал даже немного изящным :)
Only those users with full accounts are able to leave comments. Log in, please.