栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

具有多租户休眠的Spring-Data JPA

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

具有多租户休眠的Spring-Data JPA

用途

CurrentTenantIdentifierResolver

<bean id="sessionFactory" >    <property name="hibernateProperties">        <map> <entry key="hibernate.dialect" value="org.hibernate.dialect.SQLServer2012Dialect"> <entry key="hibernate.format_sql" value="true"> <entry key="hibernate.multi_tenant_connection_provider" value="com.company.hibernate.MultiTenantConnectionProviderImpl"> <entry key="hibernate.multiTenancy" value="DATAbase"> <!-- tenant resolver as spring bean --> <entry key="hibernate.tenant_identifier_resolver" value-ref="currentTenantIdentifierResolver"/>        </map>    </property></bean><bean id="currentTenantIdentifierResolver"    ></bean>

简单的租户标识符解析器将如下所示:

public class CurrentTenantResolver implements CurrentTenantIdentifierResolver {    public String resolveCurrentTenantIdentifier() {        // retrieve tenant from logged in user        User usr = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ;    return usr.getTenantName();    }    public boolean validateExistingCurrentSessions() {        return true;    }}

请记住,上面的类是Spring bean,因此您可以像常规Spring bean一样自动连接任何spring bean(service / dao)。

每次Spring Need Session Hibernate都会从该bean中检索租户标识符。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号