/** * Fetches a specific object or object graph, in many cases one fetched through a call to <code> * getAllAsList()</code> or <code>getAllAsMap()</code>. * * @param key object key. * @return object under given key or <code>null</code> if not found. * @see #getAllAsList() * @see #getAllAsMap() */ public PersistentObject findByKey(Object key) { AbstractDomain domain = getDomain(fullDomainClassName); try { // If a string decode to binary. if (key instanceof String) { key = domain.decodePrimaryKey((String) key); } return domain.find(key); } finally { releaseDomain(domain); } }