
de.tsl2.nano.ebeanprovider.EntityManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tsl2.nano.ebeanprovider Show documentation
Show all versions of tsl2.nano.ebeanprovider Show documentation
TSL2 ORM EBean (providing an EntityManager for ebean)
The newest version!
/*
* File: $HeadURL$
* Id : $Id$
*
* created by: Tom
* created on: 13.05.2014
*
* Copyright: (c) Thomas Schneider 2014, all rights reserved
*/
package de.tsl2.nano.ebeanprovider;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import javax.persistence.EntityGraph;
import javax.persistence.StoredProcedureQuery;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaDelete;
import javax.persistence.criteria.CriteriaUpdate;
import org.apache.commons.logging.Log;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.EbeanServer;
import com.avaje.ebean.EbeanServerFactory;
import com.avaje.ebean.Query;
import com.avaje.ebean.SqlUpdate;
import com.avaje.ebean.cache.ServerCache;
import com.avaje.ebean.config.ServerConfig;
import de.tsl2.nano.core.ENV;
import de.tsl2.nano.core.ManagedException;
import de.tsl2.nano.core.log.LogFactory;
import de.tsl2.nano.core.util.FileUtil;
import de.tsl2.nano.persistence.provider.NanoEntityManagerFactory;
import de.tsl2.nano.persistence.provider.NanoEntityManagerFactory.AbstractEntityManager;
/**
* reduced OrmLite jpa persistence-provider extending {@link NanoEntityManagerFactory}.
*
* @author Tom
* @version $Revision$
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public class EntityManager extends AbstractEntityManager {
private static final Log LOG = LogFactory.getLog(EntityManager.class);
EbeanServer server;
public EntityManager() {
this(new LinkedHashMap());
}
/**
* constructor
*
* @param props
*/
public EntityManager(Map props) {
NanoEntityManagerFactory.instance().super(props);
final String ebeanTemplate = "ebean.properties.tml";
ENV.extractResource(ebeanTemplate);
Properties ep = new Properties();
try {
ep.load(FileUtil.getFile(ENV.getConfigPath() + ebeanTemplate));
if (props.containsKey("jpa.beansjar"))
ep.setProperty("ebean.search.jars", (String) props.get("jpa.beansjar"));
ep.setProperty("datasource.custom.username", (String) props.get("jdbc.username"));
ep.setProperty("datasource.custom.password", (String) props.get("jdbc.password"));
ep.setProperty("datasource.custom.databaseUrl", (String) props.get("jdbc.url"));
ep.setProperty("datasource.custom.databaseDriver", (String) props.get("jdbc.driver"));
TreeMap
© 2015 - 2025 Weber Informatics LLC | Privacy Policy