Сохранение и получение значение enum в базу данных

Использую jdbs заношу и получаю классы в базу данных.В одном из класов в поле Status использую значение enum.

Запись:

private void writeOrder(List<Order> order) throws SQLException {
        PreparedStatement pst = connection.prepareStatement("insert into \"Order\" (id,customerId,date,status,totalCost) values(?, ?, ?, ?, ?)");
        for (Order a : order) {
            pst.setObject(1, a.getId());
            pst.setObject(2, a.getDate());
            pst.setObject(3, a.getStatus());
            pst.execute();
        }

Получение:

private Object dataFromResultSet(ResultSet rs, Class aClass) throws SQLException{
return new Order(
                    rs.getLong(1),
                    rs.getTimestamp(2),
                    rs.getString(4),
                    );
}

При записи получаю ошибку: org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of ru.sfedu.SchoolMeals.model.OrderStatus. Use setObject() with an explicit Types value to specify the type to use.

Но подозреваю, и чтение сделал неверно. Вопрос: как записывать и читать поле класса enum?


Ответы (0 шт):