Erro é o seguinte:
Exception in thread "main" java.lang.ClassCastException: class java.util.Arrays$ArrayList cannot be cast to class br.com.alura.jpa.modelo.conta.Categoria (java.util.Arrays$ArrayList is in module java.base of loader 'bootstrap'; br.com.alura.jpa.modelo.conta.Categoria is in unnamed module of loader 'app')
at br.com.alura.jpa.modelo.conta.Movimentacao.setCategoria(Movimentacao.java:34)
at br.com.alura.jpa.testes.TestaRelacionamentoMovimentacaoCategoria.main(TestaRelacionamentoMovimentacaoCategoria.java:31)
Código está EXATAMENTE igual ao do vídeo, tive que inclusive criar um ArrayList de categorias na classe Movimentação pois não havia sido criada antes.
Classe movimentacao:
package br.com.alura.jpa.modelo.conta;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@Entity
public class Movimentacao {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING)
private TipoMovimentacao tipoMovimentacao;
private LocalDateTime data;
private String descricao;
private BigDecimal valor;
private Categoria categoria;
public Categoria getCategoria() {
return categoria;
}
public void setCategoria(List<Categoria> list) {
this.categoria = (Categoria) list;
}
@ManyToOne
private Conta conta;
public Conta getConta() {
return conta;
}
public void setConta(Conta conta) {
this.conta = conta;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
public TipoMovimentacao getTipoMovimentacao() {
return tipoMovimentacao;
}
public void setTipoMovimentacao(TipoMovimentacao tipoMovimentacao) {
this.tipoMovimentacao = tipoMovimentacao;
}
public LocalDateTime getData() {
return data;
}
public void setData(LocalDateTime data) {
this.data = data;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}