Autocommit true não funciona

Pessoal,
Eu estou tentando trabalhar com o autocommit = true mas não está funciaonando, o sistema trabalha como se eu tivesse colocado autocommit=false;

Meu persistence.xml:

<persistence-unit name="Persistencia4PU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
      <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/bd5"/>
      <property name="hibernate.connection.username" value="user"/>
      <property name="hibernate.connection.password" value="pass"/>
      <property name="hibernate.connection.autocommit" value="true"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="create"/>
      <property name="hibernate.show_sql" value="false"/>
    </properties>
  </persistence-unit>

E o código que eu estou usando que não está salvando:

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("Persistencia4PU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();

        ....

        em.persist(o);
        em.close();
        emf.close();

Alguém sabe me dizer o que há de errado?

Obrigado