1
當只有EntityManager句柄可用時,是否有辦法檢測使用哪個JPA提供程序?根據EntityManager檢測使用哪個JPA提供程序
由於EntityManagers通常是代理的,因此查看該類並不能很好地工作。在EntityManager或EntityManagerFactory getProperties映射中是否存在標準屬性?
當只有EntityManager句柄可用時,是否有辦法檢測使用哪個JPA提供程序?根據EntityManager檢測使用哪個JPA提供程序
由於EntityManagers通常是代理的,因此查看該類並不能很好地工作。在EntityManager或EntityManagerFactory getProperties映射中是否存在標準屬性?
AFAIK,no。但是您可以使用getDelegate()方法並查看它返回的內容。例如,對於Hibernate,它將返回Hibernate Session
實例。只需獲取返回的委託類的名稱就可以讓您瞭解底層提供者。
謝謝,這聽起來像一個相當穩定的方法。我想知道這是否會在某些情況下被代理。 – 2012-07-22 06:19:17