[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