Forked from jeffsheets/HibernatePersistenceProviderResolver.java
Last active
July 21, 2020 17:45
-
-
Save Qleoz12/df32596c51e5f305dd3f0c0153cb7eea to your computer and use it in GitHub Desktop.
Revisions
-
Qleoz12 revised this gist
Jul 21, 2020 . No changes.There are no files selected for viewing
-
jeffsheets created this gist
May 20, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ import org.hibernate.jpa.HibernatePersistenceProvider; import org.springframework.context.annotation.Configuration; import javax.annotation.PostConstruct; import javax.persistence.spi.PersistenceProvider; import javax.persistence.spi.PersistenceProviderResolver; import javax.persistence.spi.PersistenceProviderResolverHolder; import java.util.Collections; import java.util.List; /** * This allows to deploy upgraded JPA and Hibernate versions to Websphere 8.5.5.x servers. * Has been used successfully with JPA 2.1 and Hibernate 4.3.11 * * Mostly a copy of <a href="https://hibernate.atlassian.net/browse/JPA-4">https://hibernate.atlassian.net/browse/JPA-4</a> * Changes made to deploy in a Spring environment. * * To use: add a @DependsOn("hibernatePersistenceProviderResolver") annotation on a DatabaseConfig class */ @Configuration public class HibernatePersistenceProviderResolver implements PersistenceProviderResolver { private volatile PersistenceProvider persistenceProvider = new HibernatePersistenceProvider(); @Override public List<PersistenceProvider> getPersistenceProviders() { return Collections.singletonList(persistenceProvider); } @Override public void clearCachedProviders() { persistenceProvider = new HibernatePersistenceProvider(); } @PostConstruct public void register() { PersistenceProviderResolverHolder.setPersistenceProviderResolver(new HibernatePersistenceProviderResolver()); } }