Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Update tabela de estoque - Hibernate JPA

$
0
0

@marcospaulo.suporte escreveu:

Boa noite.
Estou com uma dúvida que talvez seja simples. Estou usando Hibernate

Posso uma classe de Pedidos que é relacionada com uma de itens

@OneToMany(mappedBy = "pedido", cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.EAGER) 
private List<ItemPedido> itens = new ArrayList<>();

Minha classe itens do pedido é relacionada com a classe de produtos:

    @Basic
@ManyToOne 
@JoinColumn(name = "prd_codigo")
@ForeignKey(name = "produto_item_pedido_fk")
private Produto produto;

Dentro da classe de produto eu guardo o estoque do mesmo.

Ao fazer um novo pedido, insiro itens e consigo ver os estoques normalmente.
Ao gravar o pedido eu não altero o estoque.

Ao mudar o ‘status’ do pedido, eu dou baixa nos itens por meio de um método na classe de produto. Ou seja, percorro os itens do pedido, vejo se tem estoque e chamo a função conforme navego nos itens.

public void baixarEstoque(Integer quantidade) throws Exception {
	if (this.getPrd_codigo() != null) {
		System.out.println("***********************************************************");
		System.out.println("Baixando estoque do produto.: " + this.getPrd_codigo_proprio());
		int novaQuantidade = this.getPrd_estoque() - quantidade;
		System.out.println("Estoque atual.: " + this.getPrd_estoque() + " - Qtde a ser baixada: " + quantidade +"\n Resultado: "+novaQuantidade);
		// Evitar com estoque negativo
		if (novaQuantidade < 0) {
			FacesContext.getCurrentInstance().addMessage("",
						new FacesMessage(FacesMessage.SEVERITY_ERROR, "Não há disponibilidade no estoque de " + quantidade + " itens do produto " + this.getPrd_codigo_proprio() + ".", ""));

			throw new IllegalArgumentException("Não há disponibilidade no estoque de " + quantidade + " itens do produto " + this.getPrd_codigo_proprio() + ".");
		} else {
			setPrd_estoque(novaQuantidade);
		}
	} else {
		System.out.println("Produto para baixar estoque invalido.");
	}
}

A minha dúvida é: Parte de pedidos e itens está normal, porém, ele não ‘comitta’ no banco de dados a alteração de estoque.

Tenho que usar alguma anotação? no método ‘baixarEstoque’ usei o ‘@Transient’, porém não tive sucesso.

Obrigado a todos.

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


OFW quotes : Pinoy Tagalog Quotes


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


Best Crush Tagalog Quotes And Sayings 2017


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.


Tagalog Love Quotes – Nagmamahal


Sapos para colorear


Tagalog Quotes About Crush – Tagalog Love Quotes


Patama Quotes : Tagalog Inspirational Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Long distances monthsary message tagalog


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Pokemon para colorear



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>