我正在为我的项目使用spring和Hibernate和Dao设计模式,在我的GenericDaoImpl
(抽象类)类中有“tenentId”,我想在使用登录系统时设置“tenentId”。我的其他DaoImpl类从GenericDaoImpl
扩展,因此我需要设置tenentId(它在GenericDaoImpl
中定义)用户登录时间并在用户注销时重置“tenentId”。
这样做的最佳方式是什么?
在我的测试用例中,我尝试了@Autowired“GenericDaoImpl”,但是我无法做到这一点,它抛出一个异常告诉,org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type
。我现在知道这个问题,
(我们不能创建抽象类的实例,如果使用tenantId作为静态变量,它会成为一个问题吗?) 任何人都可以建议我解决方案吗?
谢谢你, Udeshika
答案 0 :(得分:1)
如果您正在开发多租户应用程序并希望让租户知道应用程序上下文,那么请查看spring-tenancy。这将帮助您注入可以承认租户的bean。
如果您想在休眠层进行多租户,那么您还可以查看hibernate的multi-tenancy功能。