54 lines
1.4 KiB
Java
54 lines
1.4 KiB
Java
package dao.entities;
|
|
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
import java.util.stream.Collectors;
|
|
|
|
import javax.persistence.TypedQuery;
|
|
|
|
import org.hibernate.query.Query;
|
|
|
|
import dao.JpaDao;
|
|
import entities.Researcher;
|
|
import entities.responses.IDLabelPair;
|
|
|
|
public class ResearcherDaoImpl extends JpaDao<Researcher, UUID> implements ResearcherDao {
|
|
|
|
public Researcher loadDetails(Researcher t) {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
|
|
@Override
|
|
public List<UUID> listAllIDs() {
|
|
String queryString = "SELECT researcher.id FROM Researcher researcher";
|
|
TypedQuery<UUID> typedQuery = entityManager.createQuery(queryString, UUID.class);
|
|
return typedQuery.getResultList();
|
|
}
|
|
|
|
|
|
@Override
|
|
public List<IDLabelPair> listAllIDsLabels() {
|
|
String queryString = "SELECT researcher.id, researcher.label FROM Researcher researcher";
|
|
Query query = (Query) entityManager.createQuery(queryString);
|
|
List<Object[]> rows = query.list();
|
|
return rows.stream().map(row -> {
|
|
return new IDLabelPair(row[0].toString(), row[1].toString());
|
|
})
|
|
.collect(Collectors.toList());
|
|
}
|
|
|
|
|
|
@Override
|
|
public Researcher getResearcherByEmail(String email) {
|
|
String queryString = "FROM Researcher researcher where researcher.primaryEmail=:email";
|
|
TypedQuery<Researcher> typedQuery = entityManager.createQuery(queryString, Researcher.class);
|
|
|
|
|
|
return null;
|
|
}
|
|
|
|
|
|
}
|