public List<Account> findEmployeesByCriteria(UserSearchCriteria searchCriteria) {
final Session session = (Session) entityManager.getDelegate();
final Criteria criteria = session.createCriteria(Account.class);
criteria.setFetchMode("employee", FetchMode.JOIN);
criteria.createAlias("employee", "Employee");
if (searchCriteria.isIsFirstNameSet()) {
criteria.add(Restrictions.like("Employee.firstName", "%" + searchCriteria.getFirstName() + "%"));
}
if (searchCriteria.isIsLastNameSet()) {
criteria.add(Restrictions.like("Employee.lastName", "%" + searchCriteria.getLastName() + "%"));