It's currently difficult to deal with replicated, slow-changing data. For example, you might have a Country table on all your shards with the same data and the guarantee that this data will never change. You'd want to create associations to Country objects in your domain model too. So now suppose you want to create a new persistent object with an association to a Country. First off, your query to lookup that country by id is going to return 1 Country per shard. That in and of itself is a problem, but supposing we could do something to make it return just one shard. How do we guarantee that we get the Country that lives on the shard that the object is going to be saved on? We haven't even gone through shard selection yet! So anyway, yeah, we need to address this. Enhancing the cross-shard relationship detection interceptor to "swap" out the wrong Country instance for the right Country instance seems like an interesting idea.