Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
16
respostas

Dúvida no Ex. 5 da Aula 3 - Integração do JPA com Pool e DataSource

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.caelum.livraria.dao.AutorDao for component AutorDao has errors: JBAS011440: Can't find a persistence unit named null in deployment "livraria.war"

apos este erro coloquei o (unitName="livraria") ...

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.caelum.livraria.dao.AutorDao for component AutorDao has errors: JBAS011440: Can't find a persistence unit named livraria in deployment "livraria.war"

sem compreender o porque dos erros...

@Stateless public class AutorDao { @PersistenceContext(unitName="livraria")

private EntityManager manager;

org.hibernate.ejb.HibernatePersistence

java:/livrariaDS

Peço ajuda em relação a esse erro.

16 respostas

Ola, Willian !

Ele não ta achando o seu 'livraria' que é seu persiste unit.

No seu persistence.xml tem uma linha onde você define o nome do seu persistence unit.

Seu Persistence.xml esta configurado como abaixo ?

.... 
<persistence-unit name="livraria" transaction-type="JTA">
<jta-data-source>java:/livrariaDS</jta-data-source>
......

Posta seu persistence.xml aqui por gentileza.

Abraço!

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="livraria">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/livrariaDS</jta-data-source>

        <class>br.com.caelum.livraria.modelo.Autor</class>
        <class>br.com.caelum.livraria.modelo.Livro</class>
        <class>br.com.caelum.livraria.modelo.Usuario</class>

        <properties>

            <!-- Configuracoes especificas do Hibernate -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />

        </properties>
    </persistence-unit>
</persistence>

Segue

'''

org.hibernate.ejb.HibernatePersistence java:/livrariaDS

br.com.caelum.livraria.modelo.Autor br.com.caelum.livraria.modelo.Livro br.com.caelum.livraria.modelo.Usuario

'''

'

org.hibernate.ejb.HibernatePersistence java:/livrariaDS

br.com.caelum.livraria.modelo.Autor br.com.caelum.livraria.modelo.Livro br.com.caelum.livraria.modelo.Usuario

'

org.hibernate.ejb.HibernatePersistence java:/livrariaDS

br.com.caelum.livraria.modelo.Autor br.com.caelum.livraria.modelo.Livro br.com.caelum.livraria.modelo.Usuario
org.hibernate.ejb.HibernatePersistence java:/livrariaDS

br.com.caelum.livraria.modelo.Autor br.com.caelum.livraria.modelo.Livro br.com.caelum.livraria.modelo.Usuario
<persistence-unit name="livraria">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/livrariaDS</jta-data-source>

        <class>br.com.caelum.livraria.modelo.Autor</class>
        <class>br.com.caelum.livraria.modelo.Livro</class>
        <class>br.com.caelum.livraria.modelo.Usuario</class>

        <properties>

            <!-- Configuracoes especificas do Hibernate -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />

        </properties>
    </persistence-unit>

Essa marcação do alura para formatar o texto é um enigma! onde somente se queima cartuchos!! i need help!! kkkkk

org.hibernate.ejb.HibernatePersistence java:/livrariaDS

br.com.caelum.livraria.modelo.Autor br.com.caelum.livraria.modelo.Livro br.com.caelum.livraria.modelo.Usuario

Ola, William Leite !

Alguma novidade ?

Conseguiu resolver ?

Sobre a formatação, tem uma ajuda do lado direito da caixa de texto, um botão chamado [Formatação]. Da uma olhadinha nele.

Abraço ! :o)

solução!

Brother,

Consegui resolver sim, o problema estava na estrutura dos diretórios, o meu meta-inf estava dentro do webcontent...

Em relação a formatação não obtive exito usando as dicas do menu de auxilio.

Mas está tudo certo. Obrigado.

Oi William,

Que bom que já resolveu seu problema. Sobre a marcação do Alura, basta colocar três aspas simples, porém não aspas normais, aquela que usamos para o sinal de crase `

Assim, ficaria (```) ... porém sem os parênteses:

Oi, sou um texto formatado :)

Abraço

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="livraria">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/livrariaDS</jta-data-source>

        <class>br.com.caelum.livraria.modelo.Autor</class>
        <class>br.com.caelum.livraria.modelo.Livro</class>
        <class>br.com.caelum.livraria.modelo.Usuario</class>

        <properties>

            <!-- Configuracoes especificas do Hibernate -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />

        </properties>
    </persistence-unit>
</persistence>

Isso, só faltou um [ENTER] entre os três ``` e o início do seu código :)

O interpretador que usamos no alura não entende se estiver na mesma linha. Na mesma linha apenas com 1 crase dessa Algo assim.

Abraço

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="livraria">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/livrariaDS</jta-data-source>

        <class>br.com.caelum.livraria.modelo.Autor</class>
        <class>br.com.caelum.livraria.modelo.Livro</class>
        <class>br.com.caelum.livraria.modelo.Usuario</class>

        <properties>

            <!-- Configuracoes especificas do Hibernate -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />

        </properties>
    </persistence-unit>
</persistence>

opa!!! agora sim. kkkk

Lição aprendida, muito obrigado.