Итак, с высоты прожитых лет =)
Если вам нужен шардинг, то скорее всего вас не устроит JPA по функционалу и ограничениям и нужно просто JdbcTemplate использовать и сделать какой-нить ShardService который вам будет давать пулл на соединение с нужной шардой функцией ShardService.getConnect(String shardKey) и это, вероятнее всего будет проще всего.