package org.sculptor.framework.persistence;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class AppEngineEntityManagerFactory {
private static EntityManagerFactory emfInstance;
public AppEngineEntityManagerFactory() {
}
public EntityManagerFactory entityManagerFactory() {
try {
// assuming single threaded startup
if (emfInstance == null) {
emfInstance = Persistence.createEntityManagerFactory("transactions-optional");
}
return emfInstance;
} catch (RuntimeException e) {
Logger log = LoggerFactory.getLogger(getClass());
log.error("Couldn't create EntityManagerFactory", e);
throw e;
} catch (Error e) {
Logger log = LoggerFactory.getLogger(getClass());
log.error("Couldn't create EntityManagerFactory", e);
throw e;
}
}
}