Я правильно создал EntityManagerFactory и EntityManager, но Hibernate говорит, что «Нет поставщиков постоянства для EntityManager»< /p>
Не знаю почему, но я перепробовал все, я на грани сойти с ума.
- Я использую maven, поэтому мой файл persistence.xml находится в META-INF в папке ресурсов.
- И в файле persistence.xml, и в EntityManagerFactory нет опечаток
- Я я использую Hibernate 6
out. 15, 2024 2:25:49 PM jakarta.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver log
ADVERTÊNCIA: jakarta.persistence.spi::No valid providers found.
Exception in thread "main" jakarta.persistence.PersistenceException: No Persistence provider for EntityManager named pu-vendas
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:86)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at com.example.SistemaDeVendas.SistemaDeVendasApplication.main(SistemaDeVendasApplication.java:26)
pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.3.3
com.example
SistemaDeVendas
0.0.1-SNAPSHOT
SistemaDeVendas
Demo project for Spring Boot
17
org.hibernate
hibernate-core
6.6.1.Final
pom
compile
mysql
mysql-connector-java
8.0.33
org.projectlombok
lombok
true
основной класс
public class SistemaDeVendasApplication {
public static void main(String[] args) {
// Configuracoes do Swing
JFrame frame = new JFrame("MainScreen");
MainScreen mainScreen = new MainScreen();
frame.setContentPane(mainScreen.getMainScreen());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1500, 600);
frame.setVisible(true);
// Configurações do Hibernate
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu-vendas");
EntityManager em = emf.createEntityManager();
// instanciação dos objetos para salvar no banco de dados
Produto produtoBiscoito = new Produto(null, 20, "Biscoito Decorado", "Baunilha", 20.00F);
Produto produtoPipoca = new Produto(null, 20, "Pipoca Gourmet", "Pão de Alho", 9.00F);
Produto produtoBrownie = new Produto(null, 20, "Lascas de Brownies", "Chocolate", 15.00F);
// Começa a transação com o banco de dados
em.getTransaction().begin();
// Persiste os dados no banco de dados
em.persist(produtoBiscoito);
em.persist(produtoPipoca);
em.persist(produtoBrownie);
// Finaliza a transação com o banco de dados
em.getTransaction().commit();
persistence.xml
com.example.SistemaDeVendas.entidades.Produto
Подробнее здесь: https://stackoverflow.com/questions/790 ... -named-xxx