Abaixo vou deixar uma parte do código e o link do gitHub para se alguém puder da uma olhada e me da alguma dica? O projeto é sobre um sistema de DIZÍMO ONLINE, no projeto existe o membro e a igreja, o membro vai ter uma conta membro e a igreja vai ter uma conta igreja. Queria criar uma tabela no banco(MySql) para receber um relatorio de todas as doações do membro para a igreja.
@Entity
@Table(name = "membros")
@Getter
@Setter
@NoArgsConstructor
public class Membro {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "cpf", unique = true, nullable = false, length = 14)
private String cpf;
private String nome;
private Integer idade;
private LocalDate dataDeNascimento;
private Genero sexo;
private String email;
private Integer senha;
private Boolean ativo;
@OneToOne(cascade = CascadeType.ALL)
private Endereco endereco;
@OneToOne(mappedBy = "membro", cascade = CascadeType.ALL)
private ContaMembro contaMembro;
public Membro(String nome, String cpf, Integer idade, LocalDate dataDeNascimento, Genero sexo, Integer senha, String email) {
this.nome = nome;
this.cpf = cpf;
this.idade = idade;
this.dataDeNascimento = dataDeNascimento;
this.sexo = sexo;
this.senha = senha;
this.email = email;
this.ativo = true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Member {\n");
sb.append(" id: ").append(id).append("\n");
sb.append(" cpf: '").append(cpf).append("'\n");
sb.append(" name: '").append(nome).append("'\n");
sb.append(" age: ").append(idade).append("\n");
sb.append(" dateOfBirth: ").append(dataDeNascimento).append("\n");
sb.append(" sex: ").append(sexo).append("\n");
sb.append(" email: '").append(email).append("'\n");
sb.append(" password: ").append(senha).append("\n");
sb.append(" active: ").append(ativo).append("\n");
sb.append(" address: ").append(endereco).append("\n");
sb.append(" memberAccount: ").append(contaMembro.toString()).append("\n");
sb.append("}");
return sb.toString();
}
@Entity
@Table(name = "igrejas")
@Getter
@Setter
@NoArgsConstructor
public class Igreja {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nomeDaIgreja;
@Column(name = "cnpj", unique = true, nullable = false)
private String cnpj;
private String email;
private Integer senha;
private LocalDate dataDeFundacao;
@OneToOne(cascade = CascadeType.ALL)
private Endereco endereco;
private Boolean ativo;
@OneToOne(mappedBy = "igreja", cascade = CascadeType.ALL)
private ContaIgreja contaIgreja;
public Igreja(String nomeDaIgreja, String cnpj, Integer senha, LocalDate dateOfBirth, String email) {
this.nomeDaIgreja = nomeDaIgreja;
this.cnpj = cnpj;
this.email = email;
this.senha = senha;
this.dataDeFundacao = dateOfBirth;
this.ativo = true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Church {\n");
sb.append(" id: ").append(id).append("\n");
sb.append(" churchName: '").append(nomeDaIgreja).append("'\n");
sb.append(" cnpj: '").append(cnpj).append("'\n");
sb.append(" email: '").append(email).append("'\n");
sb.append(" password: ").append(senha).append("\n");
sb.append(" dateOfBirth: ").append(dataDeFundacao).append("\n");
sb.append(" address: ").append(endereco).append("\n");
sb.append(" active: ").append(ativo).append("\n");
sb.append(" churchAccount: ").append(contaIgreja.toString()).append("\n");
sb.append("}");
return sb.toString();
}
}