We using Spring, Spring-Data and JPA in our project.
For production servers, we would like to setup database cluster such that all read queries are directed to one s
Well, what your are talking about is actually called CQRS (http://martinfowler.com/bliki/CQRS.html). I would suggest reading some of the concept guidelines before making attempts of implementing it.
As for your question, for short first victory, I would suggest by starting dividing the DAL's services into Finder classes and Repository classes which will be used by a higher, business oriented services.
Finders will suit a read-only access, exposing only getBy...() methods and lookups that return custom result objects, such as reports, and their underlying implementation is tailored to work against the read-only database.
Repositories on the other hand, will suit a write-only / getById() methods and their underlying implementation is tailored to work against the write-only database.
The only thing left is the synchronisation between those databases. This can be achieved quite simply by technical solutions such as: database replication, postponed updates to the read-only database after changes were made to the write-only database (eventual consistency).