@Override public Ordine getOrdineByCodice(String codice) throws PersistenceException { Ordine ordine = null; Connection connection = this.datasource.getConnection(); PreparedStatement statement = null; try { String query = "select ordini.codice,ordini.id as id,data,stato,cliente,nome,partitaiva,indirizzo " + "from ordini LEFT OUTER JOIN clienti on cliente = clienti.id WHERE ordini.codice=?"; statement = connection.prepareStatement(query); statement.setString(1, codice); ResultSet result = statement.executeQuery(); if (result.next()) { ordine = new Ordine(); ordine.setCodiceOrdine(codice); ordine.setStato(result.getString("stato")); ordine.setId(result.getInt("id")); ordine.setData(new java.util.Date(result.getDate("data").getTime())); Cliente cliente = new Cliente(); cliente.setId(result.getInt("cliente")); cliente.setNome(result.getString("nome")); cliente.setIndirizzo(result.getString("indirizzo")); cliente.setPiva(result.getString("partitaiva")); ordine.setCliente(cliente); } } catch (SQLException e) { throw new PersistenceException(e.getMessage()); } finally { try { if (statement != null) statement.close(); if (connection != null) connection.close(); } catch (SQLException e) { throw new PersistenceException(e.getMessage()); } } return ordine; }