[hibernate-dev] multi-tenancy and ConnectionProvider

Steve Ebersole steve at hibernate.org
Tue Mar 29 11:43:46 EDT 2011


VPD is really the same notion as a tenant.  So the ConnectionProvider having 
access to the tenant already solves that

On Tuesday, March 29, 2011, at 10:31 am, Emmanuel Bernard wrote:
> For info, I like #2 the best
> 
> ConnectionOptions can deal in the future with:
>  - schema based diff
>  - user based diff ala Oracle VPD
> 
> interface ConnectionOptions {
>    TenantType getTenantType();
>    String getDefaultSchema();
>    String getUser() //is that how VPD filters out?
>    ..some more techniques later
> }
> 
> enum TenantType {
>   NONE,
>   SCHEMA,
>   USER
> }
> 
> With getTenantType, a ConnectionProvider can return the right connection or
> yell if it does not support it. We could also imagine asking the
> ConnectionProvider to return the array of supported tenantTypes so that we
> can raise the exception at startup time.
> 
> On 22 mars 2011, at 22:21, Steve Ebersole wrote:
> > 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
> > _______________________________________________
> > hibernate-dev mailing list
> > hibernate-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/hibernate-dev

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



More information about the hibernate-dev mailing list