簡體   English   中英

如何使用JPA在Hibernate 4中啟用多租戶?

[英]How to enable multi-tenancy in Hibernate 4 with JPA?

在我看來,好像支持多租戶已經加入了近六個月的休眠狀態 ,並且至少在此后更新了一次

在JPA之外獲得多租戶會話看起來相當微不足道:

Session session = sessionFactory.withOptions().tenantIdentifier( "jboss" ).openSession();

但是如何在通過JPA使用hibernate的應用程序中啟用它? (如果可能的話)。

提前致謝。

您可以通過persistence.xml中的屬性對其進行配置,如下所示:

<property name="hibernate.multiTenancy" value="DATABASE"/>
<property name="hibernate.multi_tenant_connection_provider" value="com.example.MyConnectionProvider" />
<property name="hibernate.tenant_identifier_resolver" value="com.example.MyTenantIdResolver" />

如果您使用SCHEMA作為多租戶策略,則不需要hibernate.multi_tenant_connection_provider

您還可以在代碼中設置這些屬性,並將它們在映射中傳遞給Persistence.createEntityManagerFactory() 在這種情況下,您可以傳遞對象實例,而不僅僅是類名。

有關Hibernate文檔的更多信息。

EntityManager.getDelegate()將返回底層的SessionImpl

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM