tentar dar meus 2 centavos aqui:
1 - primeiro é preciso criar o módulo do banco de dados no wildfly, não assisti o curso não sei qual banco que ele tá utilizando, vamos supor que seja o postgres, no sistema de arquivos diretorio_do_wildfly/modules/system/layers/base/org
2 criar as pastas postgresql/main
3 na pasta main colar o arquivo do driver do banco e criar um arquivo chamado module.xml, com o conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.4-1201.jdbc41.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
O resource-root é o nome do arquivo do driver e o name vai ser referenciado no datasource posteriormente.
3- hora de configurar o datasource em wildfly-sua_instalação_wildfly/standalone/configuration/standalone.xml
4- é preciso referenciar o módulo do postgres criado anteriormente,para isso localize a seção drivers e adione o seguinte conteúdo é só jogar o seguinte código abaixo das configurações do driver do h2
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
reparar que em "module" colocamos o memo nome do módulo definido anteriormente no arquivo module.xml
5 - criar o datasource, localize a seção datasource e dicione o cógigo abaixo
<datasource jta="true" jndi-name="java:/nomedatasourceDS" pool-name="nomedatasourceDS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/meubanco</connection-url>
<driver>postgresql</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>postgres</user-name>
<password>postgres</password>
</security>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
O importante nesse arquivo é onde tem postgresql, note que corresponde ao nome do driver criado anteiormente e o jndiName é o nome que vai ser referenciado pelo seu persistence-unit
6 -criacao do persistence.xml : se estiver utilizando maven criar o arquivo META-INF/persistence.xml em src.main.resources, se o projeto não for maven o META-INF/persistence.xml deve ficar no src, se for um projeto ejb deve ficar dentro de ejbModule
7 - conteudo do persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="nomepersistencePU">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/nomedatasourceDS</jta-data-source>
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.connerction.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
</properties>
</persistence-unit>
</persistence>
como as transações vão ser gerenciadas pelo conteainer, então ela é do tipo JTA, e basta referenciar o datasource criado nos passos anteriores
8- criação do facade bean
@Stateless
public class MeuFacade{
@PersistenceContext(unitName="nomepersistencePU")
public EntityManager entityManager;
public void salvar(MeuObjeto objeto){
entityManger.persist(objeto);
}
}
A atenção aqui é para o unitName, que deve corresponder ao nome definido no seu persistence.xml
com isso o projeto deve rodar