[英]Spring multi tenancy
我有兩個數據庫: Oracle
和PostgreSQL
,其中我有多個模式 - 每個客戶一個。 我需要有機會通過網絡請求路由數據源。 我嘗試使用 Spring 的AbstractRoutingDatasource
但它僅適用於單一方言。 這個任務還有其他解決方案嗎?
我找到了解決方案。 您可以使用hibernate.dialect
屬性明確告訴 Hibernate 選擇哪種方言。 因此,您可以實現自己的方言擴展org.hibernate.dialect.Dialect
類,覆蓋所有公共方法並將調用委托給特定的方言。 好消息是 Hibernate 在執行任何數據庫請求之前調用這個( Dialect
的)方法。 在我的特定情況下,我已經實現了一個自定義方言和我的項目所需的方言地圖,現在我可以使用相同的存儲庫並根據登錄用戶自由選擇 Postgresql、Oracle 或 MySQL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.