/**
* This file is part of Faktotum.
*
*
* Faktotum is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* Faktotum is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Faktotum.
*
* If not, see <http://www.gnu.org/licenses/>.
*/
package de.romankreisel.faktotum.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.NoResultException;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import de.romankreisel.faktotum.datamodel.MemberStatusEntity;
import de.romankreisel.faktotum.datamodel.MemberStatusEntity_;
/**
* @author roman
*
*/
public class MemberStatusDao extends JpaDao<MemberStatusEntity> {
public List<MemberStatusEntity> getAllOrdered() {
CriteriaBuilder criteriaBuilder = this.getCriteriaBuilder();
CriteriaQuery<MemberStatusEntity> criteriaQuery = criteriaBuilder.createQuery(MemberStatusEntity.class);
Root<MemberStatusEntity> entityRoot = criteriaQuery.from(MemberStatusEntity.class);
criteriaQuery.select(entityRoot);
criteriaQuery.orderBy(criteriaBuilder.asc(entityRoot.get(MemberStatusEntity_.name)));
TypedQuery<MemberStatusEntity> typedQuery = this.createQuery(criteriaQuery);
try {
List<MemberStatusEntity> searchResult = typedQuery.getResultList();
return searchResult;
} catch (NoResultException e) {
return new ArrayList<>();
}
}
}