Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.Persistence;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * @author zolw
- */
- public class CustomEntityManagerFactory {
- private static EntityManagerFactory emf;
- private static final Object mutex = new Object();
- public static EntityManagerFactory createFactory(CustomConfig config) {
- Map<String, String> properties = new HashMap<>();
- properties.put("javax.persistence.jdbc.url", config.get(String.class, "h2", "url"));
- properties.put("javax.persistence.jdbc.password", config.get(String.class, "h2", "password"));
- properties.put("javax.persistence.jdbc.user", config.get(String.class, "h2", "user"));
- return Persistence.createEntityManagerFactory(config.getPersistanceUnitName(), properties);
- }
- public static EntityManagerFactory getInstance() {
- if (emf == null) {
- synchronized (mutex) {
- if (emf == null) {
- CustomConfig config = CustomConfig.getInstance();
- emf = createFactory(config);
- }
- }
- }
- return emf;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment