@Override public Response updateRecord(ValueObject oldPersistentObject, ValueObject persistentObject) throws Exception { Session session = null; try { session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); ProdutoVO produto = (ProdutoVO) persistentObject; String sql = "select PRODUTO from br.com.alberteije.vo.ProdutoVO as PRODUTO where PRODUTO.gtin = " + produto.getGtin() + " and PRODUTO.id <> " + produto.getId(); produto = (ProdutoVO) session.createQuery(sql).uniqueResult(); if (produto != null) { return new ErrorResponse("Código de produto já cadastrado!"); } produto = (ProdutoVO) persistentObject; produto.setHashIncremento(-1); session.update(produto); session.getTransaction().commit(); return new VOResponse(produto); } catch (Exception e) { e.printStackTrace(); session.getTransaction().rollback(); return new ErrorResponse("Erro ao cadastrar o produto!"); } finally { session.close(); } }