// always read in to get a fresh copy for merge
Criteria c = new Criteria();
c.addEqualTo("dtype", DISCRIMINATOR_PORTLET);
c.addEqualTo("applicationName", appName);
c.addEqualTo("portletName", portletName);
QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c);
Map<String, DatabasePreference> mergeMap = new HashMap<String, DatabasePreference>();
List<DatabasePreference> deletes = new LinkedList<DatabasePreference>();
List<DatabasePreference> updates = new LinkedList<DatabasePreference>();
List<PortletPreference> inserts = new LinkedList<PortletPreference>();
Iterator<DatabasePreference> preferences = getPersistenceBrokerTemplate().getIteratorByQuery(query);