To com dificuldades para implementar um codigo que retorne os dados de um cadastro ,pois não sei como chamar os atributos da chave estrangeira, segue o método.
public Professor TrazerProfessor(Professor p) throws SQLException {
StringBuilder sql= new StringBuilder();
sql.append("SELECT p.codigo,p.nome,p.email,c.nome,c.carga_horaria");
sql.append(" from professor as p ");
sql.append(" inner join curso as c on c.codigo = p.curso_codigo ");
sql.append(" where p.email = ?");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = (PreparedStatement) conexao.prepareStatement(sql.toString());
comando.setLong(1, p.getCodigo());
ResultSet resultado= comando.executeQuery();
Professor retorno =null;
if(resultado.next()) {
retorno = new Professor();
retorno.setCodigo(resultado.getLong("codigo"));
retorno.setNome(resultado.getString("nome"));
retorno.setEmail(resultado.getString("email"));
Curso c= new Curso();
c.setNome(resultado.getString("nome"));
c.setCargaHoraria(resultado.getString("carga_horaria"));