Did you take a look at
Hibernate Shards?
Summary:
You can't always put all your relational data in a single relational database. Sometimes you simply have too much data. Sometimes you have a distributed deployment architecture. Sometimes the lawyers say "no" (or more likely, "NOOO!"). Whatever your reasons,
talking to multiple relational databases inevitably complicates the development of your application. Hibernate Shards is a framework that is designed to encapsulate and minimize this complexity by adding support for horizontal partitioning to Hibernate Core.