public boolean deriveConcatenatedId(PersistRequestBean<?> persist) { if (matches == null) { String m = "Matches for the concatinated key columns where not found?" + " I expect that the concatinated key was null, and this bean does" + " not have ManyToOne assoc beans matching the primary key columns?"; throw new PersistenceException(m); } EntityBean bean = persist.getEntityBean(); // create the new id EntityBean newId = (EntityBean) embId.createEmbeddedId(); // populate it from the assoc one id values... for (int i = 0; i < matches.length; i++) { matches[i].populate(bean, newId); } // support PropertyChangeSupport embId.setValueIntercept(bean, newId); return true; }