Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named loja

ago 05, 2022 3:13:06 PM org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named LOJA at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at br.com.alura.loja.testes.CadastroDeProdutos.main(CadastroDeProdutos.java:21)

6 respostas
4.0.0 br.com.alura loja 0.0.1-SNAPSHOT
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.4.27.Final</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.18</version>
    </dependency>
</dependencies>

public class CadastroDeProdutos {

public static void main(String[] args) {

    Produto celular = new Produto();

    celular.setNome("Apple");
    celular.setDescricao("iPhone 11");
    celular.setPreco(new BigDecimal (3000));

    EntityManagerFactory factory = Persistence.createEntityManagerFactory("LOJA");
    EntityManager em = factory.createEntityManager();
    em.persist(celular);
    }

}

@Entity @Table(name = "produtos") public class Produto {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer id;
private String nome;
private String descricao;
private BigDecimal preco;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public BigDecimal getPreco() {
    return preco;
}

public void setPreco(BigDecimal preco) {
    this.preco = preco;
}

}

<properties>

<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/loja" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="root" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
<property name="hibernate.show sql" value="true" />
</properties>

@Entity @Table(name = "produtos") public class Produto {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer id;
private String nome;
private String descricao;
private BigDecimal preco;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public BigDecimal getPreco() {
    return preco;
}

public void setPreco(BigDecimal preco) {
    this.preco = preco;
}

}

solução!

Arquivo persistence.xml com o nome errado