try {
TypedQuery<SessionConfiguration> query = em.createQuery(
"select config from SessionConfiguration config where config.user = ?1 and config.pwd = ?2", SessionConfiguration.class)
.setParameter(1, newConfig.getUser()).setParameter(2, newConfig.getPwd());
oldConfig = query.getSingleResult();
oldConfig.update(newConfig);
em.merge(oldConfig);
} catch (NoResultException ex) {
getServletContext().log("No directory data for: " + newConfig.getUser(), ex);
em.persist(newConfig);
}