Home > front end >  Can define the database name beside the table when using query DSL?
Can define the database name beside the table when using query DSL?

Time:10-07

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.

  • Related