Venho novamente solicitar a ajuda de vocês, dei uma pesquisada aqui no fórum e achei alguns tópicos parecidos, mas ainda estou tendo dificuldade em implementar.
Como faço para persistir um objeto com chave estrangeira
Eu tenho o tópico mas na tabela questão o que vai é a id do tópico que é minha chave estrangeira.
public class QuestaoDAO {
// a conexão com o banco de dados
private Connection connection;
public QuestaoDAO() {
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona(Questao questao) {
String sql = "insert into tblQuestoes "
+ "(topico, texto,correta, comentario)"
+ " values (?, ?, ?, ?)";
try {
// prepared statement para inserção
PreparedStatement stmt = connection.prepareStatement(sql);
// seta os valores
stmt.setString(1, questao.getTopico()); //MEU PROBLEMA É AQUI EU JA TENHO UMA TABELA TÓPICO COM OS TÓPICOS CADASTRADOS
// O QUE EU TENHO QUE INSERIR AQUI NÃO É O TÓPICO E SIM A ID DA TABELA TÓPICOS QUE É MINHA CHAVE ESTRANGEIRA
// E SE NÃO TIVER CADASTRADO O TÓPICO, QUERO INSERIR ELE NA TABELA TÓPICO E SALVAR NA TABELA QUESTÃO A CHAVE DO MESMO.
stmt.setString(2, questao.getTexto());
stmt.setString(3, questao.getResposta());
stmt.setString(4, questao.getComentario());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}