replace criteria with queryDSL