/** * Find the record with the specified primary keys * * @return DataPoint or null if no record is found */ public DataPoint find(int id) { DataPoint rec = new DataPoint(); // Create temp object and look in cache for it ((DataPoint_base) rec).initialize(id); rec = (DataPoint) GenOrmDataSource.getGenOrmConnection().getCachedRecord(rec.getRecordKey()); java.sql.PreparedStatement genorm_statement = null; java.sql.ResultSet genorm_rs = null; if (rec == null) { try { // No cached object so look in db genorm_statement = GenOrmDataSource.prepareStatement(SELECT + FROM + KEY_WHERE); genorm_statement.setInt(1, id); s_logger.debug(genorm_statement.toString()); genorm_rs = genorm_statement.executeQuery(); if (genorm_rs.next()) rec = newDataPoint(genorm_rs); } catch (java.sql.SQLException sqle) { throw new GenOrmException(sqle); } finally { try { if (genorm_rs != null) genorm_rs.close(); if (genorm_statement != null) genorm_statement.close(); } catch (java.sql.SQLException sqle2) { throw new GenOrmException(sqle2); } } } return (rec); }
/** * Deletes the record with the specified primary keys. The point of this api is to prevent a hit * on the db to see if the record is there. This call will add a record to the next transaction * that is marked for delete. * * @return Returns true if the record was previous created and existed either in the transaction * cache or the db. */ public boolean delete(int id) { boolean ret = false; DataPoint rec = new DataPoint(); ((DataPoint_base) rec).initialize(id); GenOrmConnection con = GenOrmDataSource.getGenOrmConnection(); DataPoint cachedRec = (DataPoint) con.getCachedRecord(rec.getRecordKey()); if (cachedRec != null) { ret = true; cachedRec.delete(); } else { rec = (DataPoint) con.getUniqueRecord(rec); // This adds the record to the cache rec.delete(); ret = rec.flush(); rec.setIgnored(true); // So the system does not try to delete it again at commmit } return (ret); }
protected DataPoint newDataPoint(java.sql.ResultSet rs) { DataPoint rec = new DataPoint(); ((DataPoint_base) rec).initialize(rs); return ((DataPoint) GenOrmDataSource.getGenOrmConnection().getUniqueRecord(rec)); }