Implementar Saldo Anterior

Amigos… Não estou sabendo como implementar o Saldo Anterior…

Preciso que a cada movimentação, eu tenha o saldo anterior antes da própria movimentação…

Minha entidade movimentação está assim…

public class Movimentacao implements Serializable, Entidade {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer id;
	
	@Enumerated(EnumType.STRING)
	@Column(nullable=false, length=7)
	@NotNull
	private MovimentacaoTipo tipo;
	
	@Column(nullable=false, length=50)
	@NotNull
	private String titulo;
	
	@Column(length=10, nullable=false)
	@NotNull
	private LocalDate data;
	
	@Column(length=7, nullable=false)
	@NotNull
	private YearMonth periodo;
	
	@ManyToOne
	@JoinColumn(nullable=true)
	private Apartamento apartamento;
	
	@Column(nullable=false)
	@NotNull
	@DecimalMin("0.01")
	private BigDecimal valor;
	
	@Column(length=200, nullable=true)
	private String observacao;

    //getters e setters

}

Pensei em incluir um atributo BigDecimal saldoAnterior mas nao sei calcular… se faço no banco…

to meio perdido…

Você pode fazer duas colunas no banco, uma contendo o valor antigo e valor novo.

Onde a cada movimentação que você for fazer, antes de executar você grava esse valor na coluna valor antigo, e depois que a movimentação for concluída você altera a coluna valor novo.

Porem se você quer uma lista das movimentações ai o ideal seria armazenar em uma lista de movimentações, com o tipo de de cada processo, data e etc.

Bom, já vi uma meia dúzia de aplicações financeiras, mas essa abordagem para mim é novidade, qual a real necessidade de manter esse campo ? Você vai precisar desse campo em algum relatório ou algo do tipo ? Algum usuário pediu ?