public class ProjectController {
     public void save(Project project){
        String sql = "INSERT INTO Projects (name,"
                + "description,"
                + "createdAt,"
                + "updatedAt) VALUES (?,?,?,?)";
        Connection connection = null;
        PreparedStatement statement = null;
        
        try {
            
            //cria uma conexao com o banco
            connection = ConnectionFactory.getConnection();
            //cria um PreparedStament, classe usada para executar a query
            statement = connection.prepareStatement(sql);
            
            statement.setString(1, project.getName());
            statement.setString(2, project.getDescription());
            statement.setDate(3, new Date(project.getCreatedAt().getTime()));
            statement.setDate(4, new Date(project.getUpdatedAt().getTime()));
            //Executa a sql para inserção dos dados
            statement.execute();
        } catch (SQLException ex) {
            throw new RuntimeException("Erro ao salvar a tarefa", ex);
        } finally {
            ConnectionFactory.closeConnection(connection, statement);
                     
        }
    }
        Qual é a instrução da linha 42?
statement.setDate(4, new Date(project.getUpdatedAt().getTime()));
        Então o project.getUpdatedAt() está retornando null
tenho q colocar oq nele?,sou novato na programação kk
Então não deveria estar fazendo acesso a banco de dados.
Pra que serve a propriedade updatedAt da sua classe?
Pelo nome imagino que seja um objeto Date contendo o momento em que o objeto foi atualizado, se for isso, seta essa data antes de persistir o objeto.
 package model;
import java.util.Date;
/**
 *
 * @author ALEXANDRO
 */
public class Project {
   
    private int id;
    private String name;
    private String description;
    private Date createdAt;
    private Date updatedAt;
    
    public Project(int id, String name, String description, Date createdAt, Date updatedAt) {
        this.id = id;
        this.name = name;
        this.description = description;
        this.createdAt = createdAt;
        this.updatedAt = updatedAt;
    }
    public Project() {
       this.createdAt =  new Date();
       
    }
       
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public Date getCreatedAt() {
        return createdAt;
    }
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }
    public Date getUpdatedAt() {
        return updatedAt;
    }
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }
    @Override
    public String toString() {
        return "Project{" + "id=" + id + ", name=" + name + ", description=" + description + ", createdAt=" + createdAt + ", updatedAt=" + updatedAt + '}';
    }
}
        como eu faço pra setar a data?
No seu objeto project, chama o método setUpdatedAt passando o objeto Date desejado
n sei exatamente como faz isso
Cadê o código que chama o método save do seu ProjectController?
package controller;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.Project;
import util.ConnectionFactory;
/**
 *
 * @author ALEXANDRO
 */
public class ProjectController {
     public void save(Project project){
        String sql = "INSERT INTO Projects (name,"
                + "description,"
                + "createdAt,"
                + "updatedAt) VALUES (?,?,?,?)";
        Connection connection = null;
        PreparedStatement statement = null;
        
        try {
            
            //cria uma conexao com o banco
            connection = ConnectionFactory.getConnection();
            //cria um PreparedStament, classe usada para executar a query
            statement = connection.prepareStatement(sql);
            
            statement.setString(1, project.getName());
            statement.setString(2, project.getDescription());
            statement.setDate(3, new Date(project.getCreatedAt().getTime()));
            statement.setDate(4, new Date (project.getUpdatedAt().getTime()));
            //Executa a sql para inserção dos dados
            statement.execute();
        } catch (SQLException ex) {
            throw new RuntimeException("Erro ao salvar a tarefa", ex);
        } finally {
            ConnectionFactory.closeConnection(connection, statement);
                     
        }
    }
        Você não entendeu, cadê o código que chama esse método?
Alguém chama esse método passando um objeto Project como parâmetro.
nao é esse aqui? eu fiz o projeto igual do professor
consequi resolver esse erro
so n ta conectando no banco de dados
Ali está a declaração do método.
Pedi para você postar o código que chama aquele método.
Está conectando sim, tanto que o erro está dizendo que não existe a coluna ‘updatedAt’.

