Ruhezustand, der NullPointerException auslöst

Ich versuche, Hibernate 4.2.1.Final mit JPA unter Verwendung von IntelliJ 12.1.3 zu testen, und es wird die folgende Fehlermeldung angezeigt.

Alles scheint in Ordnung zu sein (ich habe IntelliJ die Zuordnungen generieren lassen), und da ich keine Erfahrung mit Hibernate und JPA habe, weiß ich nicht, warum dies geschieht.

Warum bekomme ich eine NPE?EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Heroku-production");?

Hauptklasse:

public static void main(final String[] args) throws Exception {
        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Heroku-production");
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        entityManager.getTransaction().begin();
        List<CountryCodesEntity> result = entityManager.createQuery( "from CountryCodesEntity", CountryCodesEntity.class ).getResultList();
        for ( CountryCodesEntity countryCodesEntity : result ) {
            System.out.println( "Code (" + countryCodesEntity.getCode() + ") : " + countryCodesEntity.getNsenum() );
        }
        entityManager.getTransaction().commit();
        entityManager.close();
    }

Error:

May 16, 2013 3:02:49 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
May 16, 2013 3:02:49 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.1.Final}
May 16, 2013 3:02:49 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
May 16, 2013 3:02:49 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
May 16, 2013 3:02:54 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: com/***/heroku/CountryCodesEntity.xml
May 16, 2013 3:02:54 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: com/***/heroku/StateCodesEntity.xml
May 16, 2013 3:02:54 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
May 16, 2013 3:02:54 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
May 16, 2013 3:02:54 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: true
May 16, 2013 3:02:54 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [org.postgresql.Driver] at URL [postgres://*********:***********@ec2-***-**-**-*****.compute-1.amazonaws.com:6232/******]
May 16, 2013 3:02:54 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=********, password=****, autocommit=true, release_mode=auto}
Exception in thread "main" java.lang.NullPointerException
    at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:214)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117)
    at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:78)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2293)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2289)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1758)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:913)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:898)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:59)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at Main.main(Main.java:20)

Persistance.xml

<?xml version="1.0" encoding="UTF-8"?>

<persistence-unit name="Heroku-production">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <mapping-file>com/***/heroku/CountryCodesEntity.xml</mapping-file>
    <mapping-file>com/***/heroku/StateCodesEntity.xml</mapping-file>
    <properties>
        <property name="hibernate.connection.url" value="postgres://****:****@ec2-***-**-***-***.compute-1.amazonaws.com:6232/*****"/>
        <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
        <property name="hibernate.connection.username" value="****"/>
        <property name="hibernate.connection.password" value="****"/>
        <property name="hibernate.archive.autodetection" value="class"/>
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.format_sql" value="true"/>
        <property name="hbm2ddl.auto" value="update"/>
    </properties>
</persistence-unit>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage