Não persiste no banco

Erro: log

Erro ao salvar: javax.persistence.TransactionRequiredException: no transaction is in progress

gravar

public void persist(Object objeto){
	EntityManager em = getEntityManager();
	em.detach(objeto);
	if(objeto.getId() == null){
		em.persist(objeto);
	} else {
		em.merge(objeto);
	}
	em.flush();
}

Persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
	xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
	<persistence-unit
		name="br.com.netsoft_desif-infraestrutura_jar_1.0-SNAPSHOTPU"
		transaction-type="JTA">
		<description>Forge Persistence Unit</description>
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:jboss/desifsql</jta-data-source>
		<!-- ENDEREÇOS -->
		<class>br.com.netsoft.dominio.desif.endereco.PaisEntity</class>
		<class>br.com.netsoft.dominio.desif.endereco.BairroEntity</class>
		<class>br.com.netsoft.dominio.desif.endereco.EstadoEntity</class>
		<class>br.com.netsoft.dominio.desif.endereco.LogradouroEntity</class>
		<class>br.com.netsoft.dominio.desif.endereco.TipoEnderecoEntity</class>
		<class>br.com.netsoft.dominio.desif.endereco.TipoLogradouroEntity</class>
		<!-- DESIF - FEDERAL -->
		<class>br.com.netsoft.dominio.desif.federal.MunicipioEntity</class>
		<exclude-unlisted-classes>false</exclude-unlisted-classes>
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="none" />
			<property name="hibernate.show_sql" value="true" />
			<property name="show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
			<property name="hibernate.transaction.flush_before_completion"
				value="true" />
			<property name="hibernate.connection.autocommit" value="false" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
		</properties>
	</persistence-unit>
</persistence>

Assumindo que esse objeto que tem o método persist é um session bean, é você que tá criando ou o container? Se for você, tem que abrir uma transação manualmente.

Então cara isso é porque você não tem uma transação aberta!

Você deve colocar o seguinte código após criar o EntityManager:
em.getTransaction().begin();

E no final do método comitar e fecha o EM:
em.getTransaction().commit();
em.close();

Primeiro passo a saber é: quem gerencia suas transações? O Bean ou o Container??
Se o tipo de gerenciamento de transação for BMT (bean), então vc precisa iniciar uma transação pelo EntityManager, persistir e por fim fazer o commit das mudanças. Se por outro lado desejar usar o CMT (container), anote a assinatura da sua classe com @TransactionManagement e passe como argumento um TransactionManagementType.CONTAINER.
Se quiseres alterar o tipo da transação, podes usar tb a anotação @TransactionAttribute, passando como argumento o tipo da transação. Veja aqui a descrição dos tipos de transação e o exemplo de uso com CMT.