ola gente alterei o codigo do botao e agora esta dando estes erros
Segue codigo alterado
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO add your handling code here:
int entrada_saida =0;
Produto p = new Produto();
Connection conexao = null;
try {
conexao = DriverManager.getConnection(
“jdbc:postgresql:TurmaN40”,“postgres”, “33462634”);
System.out.println(“Conectado!”);
conexao.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < modelo.getRowCount(); i ++ )
{
VendaProduto it = new VendaProduto();
it.setCodigo(Integer.parseInt(String.valueOf(modelo.getValueAt(i, 0))));
it.setData(f.getSelectedDate());
it.setNomevendedor(String.valueOf(modelo.getValueAt(i, 2)));
it.setDescricao(String.valueOf(modelo.getValueAt( i ,3)));
it.setQtde(Integer.parseInt(String.valueOf(modelo.getValueAt( i ,4))));
it.setValor(Double.parseDouble(String.valueOf(modelo.getValueAt( i ,5))));
it.setTotal(Double.parseDouble(String.valueOf(modelo.getValueAt( i ,6))));
ListarVendas l = new ListarVendas(fabricaDeEntidades, gerenciador);
gerenciador.getTransaction().begin();
gerenciador.persist(it);
gerenciador.getTransaction().commit();
entrada_saida = it.getQtde() - p.getEstoque();
PreparedStatement psm = null;
try {
psm = conexao.prepareStatement(
"UPDATE Produto SET codproduto =? , categoria =? , data =? , descricao =?,"
+ " estoque = ? , fornecedor = ?, marca = ?, referencia = ?, valor = ? WHERE codproduto = ?");
psm.setInt(1, p.getCodproduto());
psm.setString(2, p.getCategoria());
psm.setString(3, converteData(p.getData()));
psm.setString(4, p.getDescricao());
psm.setInt(5, p.getEstoque());
psm.setString(6, p.getFornecedor());
psm.setString(7, p.getMarca());
psm.setString(8, p.getReferencia());
psm.setString(9,p.getValor() + "");
psm.execute();
psm.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
private String converteData(Calendar data) {
// TODO Auto-generated method stub
return new SimpleDateFormat("dd/MM/yyyy").format(new Date().getTime());
}
});
Segue erros
Hibernate: insert into VendaProduto (data, descricao, itens, nomevendedor, qtde, total, valor, codigo) values (?, ?, ?, ?, ?, ?, ?, ?)
- SQL Error: 0, SQLState: 23505
- Entrada em lote 0 insert into VendaProduto (data, descricao, itens, nomevendedor, qtde, total, valor, codigo) values (2017-05-13 -03:00, sabao, 0, joao, 3, 12.0, 4.0, 4) foi abortada. Chame getNextException para ver a causa.
- SQL Error: 0, SQLState: 23505
- ERROR: duplicate key value violates unique constraint "vendaproduto_pkey"
Detalhe: Key (codigo)=(4) already exists.
- Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
at EfetuarVenda$2.actionPerformed(EfetuarVenda.java:265)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into VendaProduto (data, descricao, itens, nomevendedor, qtde, total, valor, codigo) values (2017-05-13 -03:00, sabao, 0, joao, 3, 12.0, 4.0, 4) foi abortada. Chame getNextException para ver a causa.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2510)
at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:393)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1341)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:341)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2573)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
… 45 more
Exception in thread “AWT-EventQueue-0” javax.persistence.RollbackException: Error while commiting the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:71)
at EfetuarVenda$2.actionPerformed(EfetuarVenda.java:265)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
… 37 more
Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into VendaProduto (data, descricao, itens, nomevendedor, qtde, total, valor, codigo) values (2017-05-13 -03:00, sabao, 0, joao, 3, 12.0, 4.0, 4) foi abortada. Chame getNextException para ver a causa.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2510)
at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:393)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1341)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:341)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2573)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
… 45 more
Hibernate: select vendaprodu0_.codigo as codigo18_, vendaprodu0_.data as data18_, vendaprodu0_.descricao as descricao18_, vendaprodu0_.itens as itens18_, vendaprodu0_.nomevendedor as nomevend5_18_, vendaprodu0_.qtde as qtde18_, vendaprodu0_.total as total18_, vendaprodu0_.valor as valor18_ from VendaProduto vendaprodu0_ where vendaprodu0_.data=?