Это потому, что вы создаете запрос, но не выполняете его:
String sql = "delete from attribute where timestamp > to_date('"+parameter+"','YYYY-MM-DD')"
Query query = session.createSQLQuery(sql);
query.executeUpdate();
Вы должны действительно использовать связанные именованные параметры, а не конкатенацию строк для передачи параметров в запросе: обычно это большеэффективный, он гораздо более надежный, но, прежде всего, он не открывает возможности для атак с использованием SQL-инъекций.