Olá sou novo aqui e gostaria da ajuda de vcs.
seguinte
to criando um sisteminha pra um trab da faculdade, e to com uma duvida na hora de cadastrar no banco.
heys meu problema, quero cadastrar uma instancia da Classe Pessoa no banco, soh que essa Pessoa pode ter um ou mais instancias da Classe Endereco, e um ou mais instancias da classe Contato, ou seja, uma pessoa pode ter um ou varios endereços cadastrados e um ou mais contatos cadastrados.
Na classe Pessoa eu fiz o seguinte.
public class PessoaDTO extends DTO {
private int Codigo;
private String Nome;
private List Endereco;
private List Contato;
}
ali tem uma lista de endereços e contatos.
na classe que interage com o banco esta assim:
public DTO registrar(DTO pDTO) throws AUTOPELPersistenciaException {
PessoaDTO obj = (PessoaDTO) (DTO) pDTO;
Connection conn = null;
try {
conn = Conexao.getInstancia().getConnection();
} catch (Exception ex) {
Logger.getLogger(PessoaIMPL.class.getName()).log(Level.SEVERE, null, ex);
}
PreparedStatement pstmt = null;
String sql = "INSERT INTO Pessoa"
+ "(Codigo,Nome,CodigoEndereco,CodigoContato)"
+ "VALUES(?,?,?,?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, obj.getCodigo());
pstmt.setString(2, obj.getNome());
for(int i = 0; i < obj.getEndereco().size(); i++){
//AQUI ESTA COMO FAÇO ISSO??? COMO CADASTRO OS ENDEREÇOS DA PESSOA NA LISTA??
}
pstmt.execute();
} catch (SQLException e) {
throw new AUTOPELPersistenciaException(e.getMessage());
} finally {
Conexao.getInstancia().closeConnection(conn, pstmt, null);
}
return pDTO;
}
aqui está, como faço ali na hora do pstmt para colocar os varios endereços na lista da pessoa???
nao sei se fico muito claro