Buenas,estou tentando inserir em um produto vários fornecedores,entretanto está dando um erro ao adicionar,a ideia é que em um produto pode ser adicionado varios fornecedores,por exemplo tenho o produto achocolatado quero adicionar dois fornecedores que são nescau e toddy
só que ao adicionar da erro
Entidade :
@Entity
public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private float preco;
private String nome;
private int qtd;
@ManyToMany
private List<Fornecedor> fornecedor;
@ManyToOne
private Categoria categoria;
public class ProdutoRN {
public Produto inserir(Produto produto,List<Fornecedor> listaFornecedores ,Categoria categoria) {
listaFornecedores=new ArrayList<>();
Conexao con = new Conexao();
EntityManager em = con.getEntidade();
em.getTransaction().begin();
for(Fornecedor fornecedor : listaFornecedores) {
em.merge(fornecedor);
}
em.merge(categoria);
em.persist(produto);
em.getTransaction().commit();
em.close();
return produto;
}
public static void main(String[] args) {
Conexao con = new Conexao();
EntityManager em = con.getEntidade();
em.getTransaction().begin();
ProdutoRN produtoRN = new ProdutoRN();
Fornecedor forn = em.find(Fornecedor.class, 1);
List<Fornecedor> listaFornecedores = new ArrayList<>();
listaFornecedores.add(forn);
Categoria cat = em.find(Categoria.class, 1);
Produto produto = new Produto(200, "Achocolatado", 20, listaFornecedores, cat);
produtoRN.inserir(produto, listaFornecedores, cat);
em.getTransaction().commit();
em.close();
// instancia o produto
erro
Exception in thread "main" java.lang.ExceptionInInitializerError
at sistemavendas.TesteProduto.main(TesteProduto.java:21)
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:861)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:888)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at util.Conexao.<clinit>(Conexao.java:8)
... 1 more