IntegratedOrderRepositoryImpl.java
package com.tradecloud.repository.impl;
import com.tradecloud.domain.integration.IntegratedOrder;
import com.tradecloud.domain.integration.IntegratedMD5;
import com.tradecloud.repository.IntegratedOrderRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository(value = "integratedOrderRepository")
public class IntegratedOrderRepositoryImpl extends RepositoryBaseImpl<IntegratedOrder, Object> implements IntegratedOrderRepository {
@Override
public List<IntegratedOrder> findAllSortedById() {
return (List<IntegratedOrder>) getNamedQuery("findAllSortedById");
}
@Override
public IntegratedOrder findOldest() {
Query query = getSession().createQuery("from IntegratedOrder io order by io.id asc");
query.setMaxResults(1);
return (IntegratedOrder) query.uniqueResult();
}
@Override
public String getLastMD5ForOrder(String reference) {
Query query = getSession().createQuery("from IntegratedMD5 where reference =:reference and type =:type order by created desc");
query.setMaxResults(1);
query.setParameter("reference", reference);
query.setParameter("type", IntegratedMD5.type.ORDER);
IntegratedMD5 md5 = (IntegratedMD5) query.uniqueResult();
if (md5 != null) {
return md5.getMd5();
}
return null;
}
@Override
public void storeLastMD5ForOrder(IntegratedMD5 integratedMD5) {
getCurrentSession().persist(integratedMD5);
}
}