Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "produto")
- public class Produto implements Serializable {
- private static final long serialVersionUID = 1L;
- private Long id;
- private Cliente cliente;
- private String nome;
- private BigDecimal valor;
- //getter e setter com anotacoes
- }
- @Entity
- @Table(name = "cliente")
- public class Cliente implements Serializable {
- private static final long serialVersionUID = -195972743343153998L;
- private Long id;
- private String nome;
- private String endereco;
- //getter e setter com anotacoes
- }
- @ManagedBean
- @ViewScoped
- public class CadastroProdutosBean implements Serializable {
- private static final long serialVersionUID = 1L;
- private Produto produto = new Produto();
- private Cliente cliente = new Cliente();
- private List<Cliente> clientes;
- //metodo init
- //nesse metodo recupero uma lista de cliente pra popular uma combo
- public void prepararCadastro() {
- EntityManager manager = JpaUtil.getEntityManager();
- try {
- ClientesRepository clientesRepository = new ClientesRepository(manager);
- this.clientes = clientesRepository.listarTodos();
- } finally {
- manager.close();
- }
- }
- //aqui de fato faço a persistencia
- public void salvar() {
- EntityManager manager = JpaUtil.getEntityManager();
- EntityTransaction transaction = manager.getTransaction();
- FacesContext context = FacesContext.getCurrentInstance();
- try {
- transaction.begin();
- CadastroProdutos cadastroProdutos = new CadastroProdutos(new ProdutosRepository(manager));
- cadastroProdutos.salvar(this.produto);
- CadastroClientes cadastroClientes = new CadastroClientes(new ClientesRepository(manager));
- //aqui cai na exception
- cadastroClientes.salvar(this.cliente);
- this.produto = new Produto();
- this.cliente = new Cliente();
- context.addMessage(null, new FacesMessage("Venda cadastrada com sucesso."));
- transaction.commit();
- } catch (Exception e) {
- transaction.rollback();
- FacesMessage mensagem = new FacesMessage(e.getMessage());
- mensagem.setSeverity(FacesMessage.SEVERITY_ERROR);
- context.addMessage(null, mensagem);
- } finally {
- manager.close();
- }
- }
- org.hibernate.PropertyValueException: not-null property references a null or transient value : com.br.modelos.Cliente.nome
Add Comment
Please, Sign In to add comment