package com.weecode.plugin.comics.model.emf; import java.util.HashMap; import java.util.Map; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import org.eclipse.persistence.jpa.config.PersistenceUnitProperties; import org.eclipse.persistence.jpa.osgi.PersistenceProvider; /** * * @author Jason Kusnier and Tim Hollosy * */ public abstract class ComicsEntityManagerFactory { private static EntityManagerFactory emf = null; private static Map properties = new HashMap(); private static void init() { properties.put(PersistenceUnitProperties.TARGET_DATABASE, "Derby"); properties.put(PersistenceUnitProperties.JDBC_DRIVER, "org.apache.derby.jdbc.ClientDriver"); properties.put(PersistenceUnitProperties.JDBC_URL, "jdbc:derby://localhost:1527/sample;create=true"); properties.put(PersistenceUnitProperties.JDBC_USER, "app"); properties.put(PersistenceUnitProperties.JDBC_PASSWORD, "app"); properties.put(PersistenceUnitProperties.JDBC_READ_CONNECTIONS_MIN, "1"); properties.put(PersistenceUnitProperties.JDBC_WRITE_CONNECTIONS_MIN, "1"); // properties.put(PersistenceUnitProperties.CACHE_SHARED_DEFAULT, "true"); properties.put(PersistenceUnitProperties.BATCH_WRITING, "JDBC"); properties.put("eclipselink.logging.level", "FINE"); properties.put("eclipselink.logging.timestamp", "false"); properties.put("eclipselink.logging.session", "false"); properties.put("eclipselink.logging.thread", "false"); emf = new PersistenceProvider().createEntityManagerFactory("comics", properties, ComicsEntityManagerFactory.class.getClassLoader()); } public static EntityManager createEntityManager() { if (emf == null) init(); return emf.createEntityManager(); } }