Problema com uma table view

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
user

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

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”));

Eae cara. Do jeito que passei pra tu tentar no outro post, teve uma coisa que vc tinha colocado errado. Você usou String em vez de Long no método call