@Override public void delete(String parentKeyString, ID id) { final TransactionStatus transactionStatus = getTransaction(); preDao(); try { Object parentKey = dao.getPrimaryKey(parentKeyString); dao.delete(parentKey, id); commitTransaction(transactionStatus); } finally { postDao(); rollbackTransaction(transactionStatus); } }
@Override public T get(String parentKeyString, ID id) { if (null == id || "".equals(id)) { return null; } preDao(); try { // TODO: parentKeyString must be decoded by parent dao! Object parentKey = dao.getPrimaryKey(parentKeyString); T domain = dao.findByPrimaryKey(parentKey, id); LOG.debug( "GET {}/{}/{} returns {}", new Object[] {dao.getTableName(), parentKey, id, domain}); return domain; } catch (RuntimeException toLog) { LOG.warn("in GET", toLog); throw toLog; } finally { postDao(); } }
public Object getPrimaryKey(T domain) { return dao.getPrimaryKey(domain); }