我通过JPA使用Hibernate's multi-tenancy功能,database per tenant strategy。我的一个要求是能够针对每个数据库中存在的表运行查询,但显然具有不同的数据。这可能吗?
提前感谢您的时间。
答案 0 :(得分:1)
不。这是不可能的,因为当hibernate运行查询时,它已经通过连接初始化。 Hibernate中的MT支持基本上是在“Hibernate之外”进行的。它有一种正常的连接方式,并且当它被馈送时,它就被绑定了。
如果您需要跨租户查询,您可能需要重新考虑多租户或将JPA提供商更改为支持“共享模式方法”的提供商,例如的EclipseLink。使用共享shema方法,您有两种选择: