Witam Was,
poniżej prezentuje metodą z klasy DAO, która pobiera dane z bazy, tworzy na ich podstawie obiekt i dodaje go do kolekcji.
public List<Answer> getAllAnswer(Integer subId) {
List<Answer> answers = new ArrayList<Answer>();
Answer oneanswer= null;
try {
PreparedStatement stmt = polaczenie.prepareStatement("SELECT * FROM main_answer WHERE subjectid = ?");
stmt.setInt(1, subId);
stmt.execute();
ResultSet rs = stmt.getResultSet();
if (rs.next()) {
oneanswer= new Answer();
UserDAO userDAO = new UserDAO();
User oneuser = userDAO.getSingleUser(rs.getInt("user_iuser"));
SubjectDAO subjectDAO= new SubjectDAO();
Subject onesubject = subjectDAO.getSingleSub(rs.getInt("subjectid"));
oneanswer.setId(rs.getInt("id"));
oneanswer.setAnswer(rs.getString("answer_stext"));
oneanswer.setSub(onesubject);
oneanswer.setUser(oneuser);
answers.add(oneanswer);
}
return answers;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
Mam taki problem z tą metoda, że do kolekcji zapisuje mi tylko jeden obiekt "Answer" ( w bazie jest ich 9). Może precyzyjniej: jak debuguje to widzę, że kolekcja składa się z 9 obiektów, pierwszy jest prawidłowy ale pozostałem to null.
Nie mam zielonego pojęcia dlaczego tak się dzieje.
Z góry dziękuje za pomoc.
Pozdrawiam