All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.panosen.orm.clickhouse.EntityManagerFactory Maven / Gradle / Ivy

package com.panosen.orm.clickhouse;

import java.util.concurrent.ConcurrentHashMap;

public class EntityManagerFactory {

    private static final ConcurrentHashMap, EntityManager> managers = new ConcurrentHashMap<>();

    public static  EntityManager getOrCreateManager(Class clazz) {
        if (managers.containsKey(clazz)) {
            return managers.get(clazz);
        }

        synchronized (EntityManagerFactory.class) {
            if (managers.containsKey(clazz)) {
                return managers.get(clazz);
            }

            EntityManager manager = new EntityManager(clazz);
            EntityManager previous = managers.putIfAbsent(clazz, manager);

            return previous != null ? previous : manager;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy