Я провел некоторое поверхностное исследование этого вопроса и как-то не нашел удовлетворяющих меня результатов, поэтому решил спросить.
И так, что у меня есть:
* Spring 3.2.1.RELEASE
* Hibernate 4.3.4.Final
* JPA репозитории, подключаемые через: <jpa:repositories base-package="xxx />
* Настроенные JpaTransactionManager и *.jpa.LocalContainerEntityManagerFactoryBean.
* Репозитории без реализаций, наследуемые от JpaRepository + @Query (штука вроде неплохая, но я еще не определился)
Планирую разобраться с темой шардирования данных, при этом по возможности для настройки этого дела мне хотелось бы писать меньше кода.
Глядел Hibernate Shards, но он вроде как заброшен, да и вообще вроде как он расширяет стандартный JPA.
В общем-то, суть вопроса в этом - как вы делаете шардинг данных, используя jpa репозитории, ну или без них?
Итак, с высоты прожитых лет =)
Если вам нужен шардинг, то скорее всего вас не устроит JPA по функционалу и ограничениям и нужно просто JdbcTemplate использовать и сделать какой-нить ShardService который вам будет давать пулл на соединение с нужной шардой функцией ShardService.getConnect(String shardKey) и это, вероятнее всего будет проще всего.