IntegratedCartonRepositoryImpl.java

package com.tradecloud.repository.export.carton.impl;

import com.tradecloud.domain.integration.IntegratedCarton;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
import com.tradecloud.repository.export.carton.IntegratedCartonRepository;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Repository(value = "integratedCartonRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class IntegratedCartonRepositoryImpl extends RepositoryBaseImpl<IntegratedCarton, Object> implements IntegratedCartonRepository {

    @Override
    public List<IntegratedCarton> findAllSortedById() {
        return (List<IntegratedCarton>) getNamedQuery("findAllIntegratedCartonSortedById");
    }

    @Override
    public IntegratedCarton findOldest() {
        Query query = getSession().createQuery("from IntegratedCarton io order by io.id asc");
        query.setMaxResults(1);
        return (IntegratedCarton) query.uniqueResult();
    }
}