openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erwan Le Goulven" <>
Subject Programmatical EntityManagerFactory init
Date Fri, 06 Apr 2007 11:46:17 GMT

As I could not find much clues about the right way to do it, here I come:
I'm trying to get an EntityManagerFactory properly setup from the
Persistence class, but I cannot get further than the following exception

javax.persistence.PersistenceException: No Persistence provider for
EntityManager named teamplay_test
    at javax.persistence.Persistence.createEntityManagerFactory(
    at com.gdteam.teamplay.domain.manager.TeamplayEMFactoryManager.get(
    at com.gdteam.teamplay.test.persistence.PersistenceUtilTest.setUp(
    at junit.framework.TestCase.runBare(
    at junit.framework.TestResult$1.protect(
    at junit.framework.TestResult.runProtected(
    at junit.framework.TestSuite.runTest(

Here is the code part that leads to the exception:

public class TeamplayEMFactoryManager  {
    private final Map<String, String> props = new HashMap<String, String>();
    private final Map<String, EntityManagerFactory> map = new
HashMap<String, EntityManagerFactory>();
    private TeamplayEMFactoryManager() {
        props.put("openjpa.ConnectionDriverName", "org.hsqldb.jdbcDriver");
        props.put("openjpa.ConnectionUserName", "sa");
        props.put("openjpa.ConnectionPassword", "");
        props.put("openjpa.Log", "DefaultLevel=WARN, Tool=INFO");
        props.put("openjpa.MetaDataFactory", "jpa(Types="+buildTypes()+")");


public EntityManagerFactory get(String url) {

        EntityManagerFactory factory = null;

        if (null == url || url.length() == 0 ) {
            url = "default";

        factory =;

        if (null == factory) {
            if ( "default".equals(url)) {
 1-               factory = Persistence.createEntityManagerFactory(null);
            } else {
                Map<String , String> map = new HashMap<String,
                map.put("openjpa.ConnectionURL", buildUrl(url));
 2-              factory = Persistence.createEntityManagerFactory(url,map);
  , factory);
        return factory;

Note :
I'm using a persistence.xml for single persitence unit creation, and this
test works fine. I've had a dive into the source code, and found the
provider is lookuped and found by the glassfish persistence implementation
class. The exception is raised on the open jpa side, and I know I'm missing
some configuration elements, but I cannot guess what's missing?
any hint?

thank you guys

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message