Can we define database beside entity name instead of switch to specific schema each time fetch data in multi-tenant applications?
For instance:-
QEntity qEntity = QEntity.entity;
JPAQueryFactory queryFactory = new JPAQueryFactory(em);
queryFactory.from(database_name qEntity).select(qEntity.id,....)
CodePudding user response:
A different database would typically be provided through a different EntityManager when creating the QueryFactory. For implementing multi-tenancy through different schema’s, you can look at the alternatives described at https://www.baeldung.com/hibernate-5-multitenancy .
There is no way to query specific database or schema in JPQL itself, nor HQL - or query any table that is not mapped as an entity for that matter - so using Querydsl to generate the JPQL or HQL for you has the same limitation.