[hibernate-dev] multi-tenancy and ConnectionProvider

Steve Ebersole steve at hibernate.org
Tue Mar 22 17:21:36 EDT 2011


reference http://opensource.atlassian.com/projects/hibernate/browse/HHH-5697

For multi-tenancy implemented by sepaerate schema we need the ability to tell 
the ConnectionProvider about the tenant for the given getConnection() request.  
I really see 3 approaches to this:

1) Have 2 hierarchies here.  The current ConnectionProvider contract remains 
the same.  Add a new MultiTenantConnectionProvider with methods accounting for 
tenant
2) Just alter the ConnectionProvider contract to pass information in.  If we 
go this route I prefer the "parameter object" pattern where we pass in 
ConnectionOptions interface (see issue).
3) Use contextual lookup.  ConnentionProviders interested in (or capable of 
understanding) mulit-tenancy would perform some kind of "contextual" 
(ThreadLocal, etc) lookup for the needed information.

Thoughts?  Discussions?

---
Steve Ebersole <steve at hibernate.org>
http://hibernate.org



More information about the hibernate-dev mailing list