public List<Requisicao> getList() {
List<Requisicao> requisicoes = new ArrayList<>();
String sql = "SELECT * FROM computador_requisicao";
try {
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Usuario solicitante = new Usuario();
solicitante.setId(rs.getLong("idusuario"));
Requisicao req = new Requisicao();
req.setId(rs.getLong("id"));
req.setSolicitante(solicitante);
req.setNome(rs.getString("nome"));
req.setData(rs.getTimestamp("data_requisicao"));
req.setMotivo(rs.getString("Observacao"));
requisicoes.add(req);
}
stmt.close();
rs.close();
} catch (SQLException ex) {
return null;
}
return requisicoes;
}
tenho esse metodo que vai gerar uma lista de todos os registros da tabela requisição
e nessa tabela requisição tem o id do usuario que a criou que fica salvo em uma outra classe
Usuario
eu debuguei e funciona normalmente todos os 3 registros estão recebendo o id do usuario que criou com esse metodo
porém a tableview está setando o mesmo id do id da requisição no id do usuario e não o id do usuario que o criou;
todos os registros estão recebendo o valor id_usuario corretamente

porém na table view não acontece isso:

codigo da table view:
@FXML private TableView<Requisicao> tb; @FXML private TableColumn<Requisicao, Long> clmid; @FXML private TableColumn<Requisicao, Long> clmIdUser; @FXML private TableColumn<Requisicao, String> clmNome; @FXML private TableColumn<Requisicao, Date> clmDate; @FXML private TableColumn<Requisicao, String> clmMotivo; private ObservableList<Requisicao> requisicao = FXCollections.observableArrayList(); public void initialize(URL url, ResourceBundle rb) { initTable(); } public void initTable() { clmid.setCellValueFactory(new PropertyValueFactory("id")); clmIdUser.setCellValueFactory(new PropertyValueFactory("id")); clmNome.setCellValueFactory(new PropertyValueFactory("nome")); clmDate.setCellValueFactory(new PropertyValueFactory("dataEntrada")); clmMotivo.setCellValueFactory(new PropertyValueFactory("motivo")); tb.setItems(atualizarTabela()); } public ObservableList<Requisicao> atualizarTabela() { RequisicaoDAO dao = new RequisicaoDAO(); requisicao = FXCollections.observableArrayList(dao.getList()); return requisicao; }
creio que o problema esteja nessa parte, mas não faço ideia de como resolver ( está pegando o id da requisição e não do usuario que setei na lista.)
@FXML
private TableColumn<Requisicao, Long> clmIdUser;
clmIdUser.setCellValueFactory(new PropertyValueFactory(“id”));