Sabem se existe uma forma mais elegante de tratar parametros opcionais do que repetir o mesmo if duas vezes?
String myQuery;
Query query;
myQuery = "SELECT r FROM Writings r Where ";
if(page.getPagePosition() != null)
myQuery +=" r.pagePosition =?1 ";
if(page.getPageType() != null)
myQuery +=" and r.pageType =?2 ";
if(page.getLanguageType() != null)
myQuery +=" and r.languageType =?3 ";
query = em.createQuery(myQuery);
if(page.getPagePosition() != null)
query.setParameter(1, page.getPagePosition());
if(page.getPageType() != null)
query.setParameter(2, page.getPageType());
if(page.getLanguageType() != null)
query.setParameter(3, page.getLanguageType());