Olá Márcio boa noite! Segue
Classe MinhasReceitas
@Entity
@Table(name = "minhas_receitas")
@JsonIgnoreProperties(value = { "new" })
public class MinhasReceitas extends AbstractPersistable<Long> {
@Column(name = "descricao_receita", nullable = true)
private String descricaoReceita;
@Column(name = "data_receita", nullable = true)
@DateTimeFormat(pattern = "dd/MM/yyyy", iso = ISO.DATE)
private LocalDate dataReceita;
@Column(name = "valor_receita", nullable = true)
@NumberFormat(style = Style.CURRENCY, pattern = "###,##0.00")
private BigDecimal valorReceita;
@Column(name = "receita_fixa", nullable = true)
private boolean receitaFixa;
@Column(name = "receita_fixa_quantidade", nullable = true)
private Integer receitaFixaQuantidade;
@Enumerated(EnumType.STRING)
@Column(name = "receita_fixa_tempo", nullable = true)
private ReceitaFixaTempo receitaFixaTempo;
@Column(name = "repetir_lanc", nullable = true)
private boolean repetirLancReceita;
@Enumerated(EnumType.STRING)
@Column(name = "repetir_por_periodo", nullable = true)
private RepetirPorPeriodo repetirPorPeriodo;
@Column(name = "pagamento", nullable = true)
private boolean pagamento;
@Column(name = "adicionar_observacao", nullable = true)
private String addObservacao;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "categorias_has_receitas", joinColumns = @JoinColumn(name = "receitas_cat_id"), inverseJoinColumns = @JoinColumn(name = "categoria_id"))
private List<CatTipoReceitas> tipoReceitas;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "contas_has_receitas", joinColumns = @JoinColumn(name = "receitas_id"), inverseJoinColumns = @JoinColumn(name = "contas_id"))
private List<MinhasContas> minhasContas;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "etiquetas_has_receitas", joinColumns = @JoinColumn(name = "receitas_id"), inverseJoinColumns = @JoinColumn(name = "etiquetas_id"))
private List<Etiquetas> etiquetas;
@Column(name = "cor")
private String cor;
// Getters and Setters
}
MinhasContas:
@Entity
@Table(name = "minhas_contas")
@JsonIgnoreProperties(value = {"minhasReceitas", "transferencias", "new"})
public class MinhasContas extends AbstractPersistable<Long> {
// @Length(min = 3, max = 30)
@Column(nullable = false, unique = true, length = 30)
private String nome;
@Column(nullable = true)
@DateTimeFormat(pattern = "dd/MM/yyyy HH:mm:ss", iso = ISO.DATE_TIME)
private LocalDate dataAcesso;
@Column(nullable = false)
@NumberFormat(style = Style.CURRENCY, pattern = ("###,##0.00"))
private BigDecimal saldoAnterior;
@Column(nullable = false)
@NumberFormat(style = Style.CURRENCY, pattern = ("###,##0.00"))
private BigDecimal saldoAtual;
@Column(nullable = true)
@NumberFormat(style = Style.CURRENCY, pattern = ("###,##0.00"))
private BigDecimal saldoFinal;
@Enumerated(EnumType.STRING)
@Column(nullable = true)
private CatTipoConta tipo;
@Column(nullable = true)
private String cor;
@Column(nullable = true)
private Boolean dashBoard;
@ManyToMany//(cascade = CascadeType.REMOVE)
@JoinTable(name = "contas_has_receitas", joinColumns = @JoinColumn(name = "contas_id"), inverseJoinColumns = @JoinColumn(name = "receitas_id"))
private List<MinhasReceitas> minhasReceitas;
@ManyToMany
@JoinTable(name = "contas_has_transfer", joinColumns = @JoinColumn(name = "contas_id"), inverseJoinColumns = @JoinColumn(name = "transfer_id"))
private List<Transferencias> transferencias;
// Getters and Setters
}